初始Vue- Vue.js条件渲染
2017-08-29 00:00
806 查看
Vue.js条件渲染
1、 v-if
v-if是真实的条件渲染,它会确保条件块在切换当中合适地销毁与重建条件块内的事件监听器和子组件。有更高的切换消耗。v-show只是简单地基于 CSS 切换。 有更高的初始渲染消耗。
需要频繁切换用v-show,如果在运行时条件不大可能改变用v-if。
2、v-for
使用 v-for 指令基于一个数组渲染一个列表<ul id="demo"><li v-for="item in items">{{ item.message }}</li></ul> ---------------------------------------------------- var demo = new Vue({ el: '#demo', data: { items: [ { message: 'Foo' }, { message: 'Bar' } ] } });
从1.0.17开始可以使用of分隔符,更接近JavaScript遍历器语法:
<div v-for="item of items"></div>
3、template v-for
类似于 template v-if,也可以将 v-for 用在 <template> 标签上,以渲染一个包含多个元素的块。<ul> <template v-for="item in items"> <li>{{ item.msg }}</li> <li class="divider"></li> </template> </ul>
4、变异方法
push()/pop()shift()/unshift()
splice()
sort()/reverse()
5、替换数组
不会修改原始数组而是返回一个新数组的非变异方法,直接用新数组替换旧数组:demo.items = example1.items.filter(function (item) { return item.message.match(/Foo/); })
注: filter()/concat()/slice()
6、track-by
用全新对象替换数组,使用track-by特性给Vue.js提示,以尽可能地复用已有实例。{items: [ { _uid: ‘88f869d’, ... }, { _uid: ‘7496c10’, ... } ]} <div v-for="item in items" track-by="_uid"> <!-- content --> </div>
7、track-by $index
使用track-by="$index"强制让v-for进入原位更新模式;片断不会被移动,而是简单地以对应索引的新值刷新;
DOM节点不再映射数组元素顺序的改变,不能同步临时状态以及组件的私有状态;
Vue.js扩展了观察数组,为它添加了一个$set()方法;
Vue.js也为观察数组添加了$remove()方法,用于从目标数组中查找并删除元素,在内部自动调用splice()。
8、显示过滤/排序的结果
想要显示过滤/排序过的数组,同时不实际修改或重置原始数据。有两个办法:1.创建一个计算属性,返回过滤/排序过的数组;
2.使用内置的过滤器 filterBy 和 orderBy。
计算属性有更好的控制力,也更灵活,因为它是全功能 JavaScript。但是通常过滤器更方便。
相关文章推荐
- vue.js基础-声明式渲染和条件与循环
- Vue.js学习 Item7 -- 条件渲染与列表渲染
- Vue.js学习 Item7 -- 条件渲染与列表渲染
- vue.js条件渲染
- vue.js 条件渲染
- vue.js条件渲染
- vue.js声明式渲染和条件与循环基础知识
- Vue.js笔记第二波,Class 与 Style 绑定,条件渲染,列表渲染
- Vue.js教程5-条件渲染
- vue.js基础-声明式渲染和条件与循环
- 学习vue.js条件渲染
- Vue.js 学习6 条件渲染与列表渲染
- Vue.js-条件渲染
- Vue.js入门学习--v-if 组合 v-else-if条件指令渲染DOM(三)
- vue.js(7)-条件渲染
- Vue.js 条件渲染 v-if、v-show、v-else
- Vue.js 学习(6) -- Vue指令之:条件渲染
- Vue.js笔记-条件渲染 列表渲染
- Vue.js—条件渲染
- 曹可爱之最可爱-Vue.js入门(六)条件渲染