vue官方文档二刷-新知识
1,动态参数:<a v-bind:[attributename]="url"> ... </a>
2,计算属性不支持异步,但是会缓存,在数据没有响应但是重新渲染时,会从缓存中读取数据,相反的,方法method会在每次重新渲染时重新计算,如果在很复杂的计算下,计算属性的优势就体现出来了。
3,class绑定不必在模板里,可以通过数据进行绑定,或者使用计算属性,也可以使用数组的方式进行绑定
4,v-else必须紧跟在v-if或者v-else-if后面否则将不会被识别,使用v-else的好处是,会复用相同的元素,所以如果可以的话,尽量使用v-else,而不是v-if='!',使用唯一的key可以标识vue不进行复用
5,v-for比v-if有更高的渲染优先级,就是在渲染时,先进行循环,在进行判断,如果v-if和v-for同时出现时,将会在每次循环过后进行if判断,浪费了性能,解决办法是可以在外层嵌套一个templete
6,v-for循环的关键字in,也可以使用of来替换,因为他更符合js的迭代器的语法
<div v-for="item of items"></div>
v-for可以迭代对象,value,name,index,分别指值,键名,索引
v-for可以使用方法,可以使用整数
<span v-for="n in 10">{{ n }} </span>
结果:1 2 3 4 5 6 7 8 9 10
7,可以使用$event来使用原生事件对象
<button v-on:click="warn('Form cannot be submitted yet.', $event)">Submit</button>
但是,方法只有纯粹的数据逻辑,而不是去处理 DOM 事件细节。
阻止事件捕获:.self
阻止事件冒泡:.stop
.keyup.XXX可以使用任意有效的按键来触发事件
其他按键可查看keyCodes...
提示:可使用组合键,例如:@keyup.ctrl.67,”ctrl+v“
.exact修饰符可以更精准的控制按键
还有鼠标修饰符
8,v-model可使用数组,以及数组对象进行绑定,v-model.lazy设置后,数据将只有在改变时才进行更新
.trim可以自动过滤收尾的空白字符
9,
<input v-model="searchText">
等价于
<input v-bind:value="searchText" v-on:input="searchText = $event.target.value">
10,动态组件<component v-bind:is="currentTabComponent"></component>
通过改变currentTabComponent来切换组件
在特殊的标签内使用组件时,用常规的方式将解析错误,这时候使用:is就可迎刃而解,比如在table标签内使用组件时
11,W3C规范:自定义组件名 (字母全小写且必须包含一个连字符)
12,prop中对象和数组的默认值必须从一个函数中返回,prop的验证在实例创建之前,所以组件中的data和computed等属性不能在prop中使用
13,自定义事件名是在html模板中的,会被转换为全部小写,所以尽量使用kebab-case来命名事件名,大驼峰和小驼峰由于会被转换为全小写,所以将不会被识别到
14,注意 v-slot 只能添加在 <template> 上 (只有一种例外情况),这一点和已经废弃的 slot attribute 不同。
15,插槽命名也可使用动态命名
16,异步组件,
17,v-once可以使静态元素只渲染一次,但尽量避免使用

浙公网安备 33010602011771号