computed和watch之间的区别
1.computed能完成的功能,watch都能完成
2.watch能完成的功能,computed不一定能完成,例如:watch可以进行异步操作
两个重要小原则:
1.所被 vue管理的函数,最好写成普通函数,这样this的指向才是vm或组件实例对象
2.所有不被vue所管理的函数(定时器的回调函数、ajax的回调函数等),最好写成箭头函数,这样this的指向才是vm或组件实例对象
条件渲染:
1.v-if
写法:
(1)v-if="表达式"
(2)v-else-if="表达式"
(3)v-else="表达式"
适用于切换频率较低的场景
特点:不展示的DOM元素直接被移除
注意:v-if可以和v-else-if、v-else一起使用,但要求结构不能被打断
2.v-show
写法:v-show="表达式"
适用于:切换频率较高的场景
特点:不展示的DOM元素未被移除,仅仅是display样式隐藏
3.使用v-if时,元素可能无法获取到,而使用v-show一定可以获取到
使用template不会改变dom结构
template只能和v-if搭配,和v-show一起无效
列表渲染
遍历数组(for in/of),对象(for of),字符串(for of)
<ul>
<li v-for = "(p,index) in persons",:key=index>
{{p.name}}
</li>
</ul>
p=[{name:23}]
<ul>
<li v-for = "(value,k) of car",:key=k>
{{k}}
</li>
</ul>
value是后面的值,k是键
car:{008:23,007:234}
<ul>
<li v-for = "(value,index) of car",:key=index>
{{value}}
</li>
</ul>
car:'12344'
改变原数组的方法:push、pop、shift、unshift、sort、splice、reverse