vue学习之路---基础(实例方法/特殊属性)
2018-04-28 17:45
411 查看
vue为什么会有key的属性?
vue为了高效率渲染页面,会复用已有元素,也就是说不会从头开始渲染元素。但是有些时候我们并不希望是复用元素,比如说在v-for循环列表的时候,我们是希望所有的选项(包括相同的元素选项)都是可以渲染到页面上的。vue2.0中提出的解决办法:key的特殊属性。
key属性的小理解:
比如说,我们在页面上
[code]<template v-if="login=='username'"> <label>name</label> <input placeholder="请输入您的名字"> </template> <template v-else> <label>phone</label> <input placeholder="请输入您的邮箱"> </template> 因为用的是相同的模板,我们在之前输入的名字,在替换的时候,还是会保留,这并不是我们所想要的效果。那么这个时候key这个特殊属性就会大显身手了。解决办法如下<template v-if="login=='username'"> <label>name</label> <input placeholder="请输入您的名字" key="user"> </template> <template v-else> <label>phone</label> <input placeholder="请输入您的邮箱" key="phone"> </template>再比如说当我们写循环数据的时候
<div v-for="item in items" :key="item.id"> {{item}} </div>此时的key就相当于vue2.0版本的track by,只是小编的理解,反正起到的效果是,items里面重复的item都可以在页面中渲染出来。
楼上全部,只是key属性的部分应用。因为工作中项目的问题,接下来小编想给大家总结一下v-for里面(index,key,id)哪一个和key属性绑定,页面渲染效果会更好。
结论: 使用v-for渲染元素时,使用元素自身的id属性去制定渲染元素的key属性有利于单个元素的渲染;若采用其他如v-for提供的index,key 等值,在渲染的时候会刷新整个页面重新渲染,所以小编比较推荐使用id与key属性绑定。
阅读更多
相关文章推荐
- Python3基础 描述符类与自制property方法 __get__,__set__,__delete__方法 讲一个特殊的类的实例指派给另一个类的属性
- Python 面向对象编程基础(定义类并创建实例、创建实例属性、初始化实例属性、访问限制、类属性、属性名冲突、实例方法、类方法)
- Swift基础语法: 28 - Swift的实例方法, Self属性, 类型方法
- python基础教程总结8——特殊方法,属性,迭代器,生成器,八皇后问题
- vue.js基础-属性与方法和实例生命周期
- python_笔记14_创建类的实例(支持多属性),方法也是属性
- JS获得一个对象的所有属性和方法实例
- jQuery源码学习之四 (jQUery对象的实例属性和方法)
- python学习笔记-实例方法、类方法、静态方法、属性方法
- UIKit框架-基础控件Swift版本: 2.UIButton方法/属性详解
- python进阶学习笔记(四)——python中访问限制、创建类属性、定义实例方法、定义类方法、类的继承
- Python——特殊属性与方法
- Android-NDK开发之基础--Android JNI实例代码(二)-- 获取/设置类的域或者说属性字段
- C#读取对象实例的值和对对象的属性自动赋值方法
- javascript基础:prototype原型(属性、方法)
- jQuery源代码阅读之三——jQuery实例方法和属性
- Android零基础入门第22节:ImageView的属性和方法大全
- UIKit框架-基础控件Swift版本: 5.UIImage方法/属性详解
- static 修饰的属性、方法、代码块的使用实例
- Android零基础入门第22节:ImageView的属性和方法大全