1,计算属性和方法是基于依赖进行缓存的,只要依赖没变就会返回上次的计算结果,不会多次重复计算。而普通方法是访问多次就计算多次。
计算熟悉和监听属性:书写更简便。
计算属性默认是只有get方法的,当需要直接改变值的时候,也可以定义个set方法。这时候就能直接改变值。
2,class与style的绑定,
a:对象法,传一个对象,根据值的真假还判断类名是否存在。绑定的对象也可以直接在data中书写,还可以绑定计算属性,返回一个对象。
b:数组法,可以存放变量数组,变量用来声明类名,数组里还能用三元表达式。
c:组件也可以绑定class,会直接渲染在组件的最外层。
style绑定和class绑定是一样的方法,style绑定对于需要加浏览器前缀的属性会自动加上去
3,v-if的渲染:key值的管理,v-if会直接把元素从dom结构中删除,但是为了性能会对dom重用,key值就是来识别各种dom,添加唯一标识,避免重用带来的遗留问题。v-for和v-if同时使用时,v-for有更高的优先级
v-show:只是简单的切换元素的display属性。
4,v-for in 可以用of替代,不止可以遍历数组,还可以遍历对象,当遍历对象时,第一个是属性值,第二个参数是key值,第三个是计数下标。dom的高复用性。另新手注意一点,有时候数组和对象的改变是不会触发重新渲染的,因为defineProperty属性的监听遗漏。官网有方法提示怎么解决这问题。
利用计算属性来展示需要的数据,而不改变原始数据。计算属性不够用,还能嵌套方法进去返回数组。
5,事件处理,$event 特殊变量,传递原始DOM事件。
事件修饰符:
组件:nheritAttrs: false,组件根元素不被继承