<div id="app">
<ul>
<li v-for='item in goods'>{{item}}</li>
</ul> <div>{{a}}</div> <button v-on:click='demo'>click</button>//由于js的弱点导致的,vue无法检测到数组内部的变化,只能检测到地址变化
</div>
<script>
var vm = new Vue({
el: '#app',
data: {
a: 1,
goods: ['aa', 'bb', 'cc', 'rrr']
},
methods: {
demo: function () {
this.goods=this.goods.concat(1,2,3)//改变原数组,能重新渲染
this.goods.concat(1,2,3)//不改变原数组,不能重新渲染
this.goods.splice(1)//splice方法能够改变原数组会重新渲染
Vue.set(this.goods,1,'fff')//用set方法 能够检测到到变化 }
}
})
</script>

v-for指令如果渲染的对象没有改变地址,则不会重新渲染

从vue渲染想到的数组方法的更多相关文章

  1. Vue可响应式数组方法

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Vue渲染函数

    前面的话 Vue 推荐在绝大多数情况下使用 template 来创建HTML.然而在一些场景中,真的需要 JavaScript 的完全编程的能力,这就是 render 函数,它比 template 更 ...

  3. ch7-列表渲染(v-for key 数组更新检测 显示过滤/排序结果)

    1 说明 我们用 v-for 指令根据一组数组的选项列表进行渲染. v-for 指令需要以 item in items 形式的特殊语法, items 是源数据数组并且 item 是数组元素迭代的别名. ...

  4. 从虚拟dom了解vue渲染函数

    vue渲染函数就是render函数,他会返回一个VNode,VNode是一个js对象,是dom的映射 vue在介绍渲染函数那个章节看的不是很懂,所以想要彻底的理解渲染函数,首先需要了解vue的虚拟do ...

  5. Vue渲染数据理解以及Vue指令

    一.Vue渲染数据原理 原生JS改变页面数据,必须要获取页面节点,也即是进行DOM操作,jQuery之类的框架只是简化DOM操作的写法,实质并没有改变操作页面数据的底层原理,DOM操作影响性能(导致浏 ...

  6. Vue渲染原理

    现在基本所有的框架都已经认同这个看法——DOM应尽可能是一个函数式到状态的映射.状态即是唯一的真相,而DOM状态只是数据状态的一个映射.如下图所示,所有的逻辑尽可能在状态的层面去进行,当状态改变的时候 ...

  7. JavaScript数组方法--concat、push

    利用了两天的时间,使用typescript和原生js重构了一下JavaScript中数组对象的主要方法,可以移步github查看. 这里,按照MDN上的文档顺序,再重新学习一下数组方法吧. conca ...

  8. Vue2.x源码学习笔记-Vue实例的属性和方法整理

    还是先从浏览器直观的感受下实例属性和方法. 实例属性: 对应解释如下: vm._uid // 自增的id vm._isVue // 标示是vue对象,避免被observe vm._renderProx ...

  9. 【译】你应该了解的JavaScript数组方法

    让我们来做一个大胆的声明:for循环通常是无用的,而且还导致代码难以理解.当涉及迭代数组.查找元素.或对其排序或者你想到的任何东西,都可能有一个你可以使用的数组方法. 然而,尽管这些方法很有用,但是其 ...

随机推荐

  1. XSplit Quality, VBV-Buffer, VBV-Maxrate and Preset Settings

    XSplit uses the x264 encoder, so let's start off by saying that parameters mentioned in the title, w ...

  2. Eclipse中jsp和html格式化自动排版问题

    删除inline Elements 中所有的元素 http://m.codes51.com/article/detail_197472.html

  3. JS对HTML字符的转义

    function htmlEscape(str){ var s = ""; if(str.length == 0) return ""; s = str.rep ...

  4. 高斯模糊的Java实现

    1.http://jhlabs.com/ip/index.html public static byte[] blur(byte[] data) throws IOException { ByteAr ...

  5. Delphi10.2 DPR文件

    通过选择[Project | View Source],可以看到DPR文件的基本面貌,操作如下: 默认的 Delphi 项目文件的内容如下: program Project1; {关键字 progra ...

  6. JAVA获取程序(打成jar或classpath)所在目录

    一.简述 JAVA获取程序(打成jar或classpath)所在目录. 二.代码 package dearcloud.utils.context; import dearcloud.utils.Str ...

  7. C# 调用线程并行上下文穿透-ILogicalThreadAffinative+CallContext

    na mespace System.Runtime.Remoting.Messaging { /// <summary>Provides a set of properties that ...

  8. java mqtt

    代码: package cc.gongchang.mqtt; import java.net.URISyntaxException; import org.fusesource.hawtdispatc ...

  9. RSEG用法和汇编问号的涵义

    RSEG是段选择指令,要想明白它的意思就要了解段的意思.段是程序代码或数据对象的存储单位.程序代码放到代码段,数据对象放到数据段.段分两种,一是绝对段,一是再定位段.绝对段在汇编语言中指定,在用L51 ...

  10. WCF Restful Service Get / Post请求

    Rest 它是用于创建分布式超文本媒体的一种架构方式,我们可以通过标准的HTTP(GET,POST,PUT,DELETE)操作来构建基于面向资源的软件架构方式(Resource-Oriented Ar ...