1.methods 和 computed 区别
答:相同:都可以对data里面的数据进行操作。区别:methods每次操作都会重新渲染,重新请求 。 computed 的改变在于其操作依赖是否改变,如果未改变,则继续调用上次缓存下来的内容。 好处:对于相应的数据量较大时,避免了重复请求。节约了开销
2.watch使用场景
答:来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的
3.类名及样式绑定
答:v-bind:class="{ classname:value}" 或者 v-bin:class="classObj" 然后在data里面申明 或者 v-bin:class="[classname1,classname2]" 然后在data里面声明;
v-bin:style="{ font-size:value,color:value}" 然后在data里声明value的值 或者 v-bind:style="styleObj" 然后在data里面声明styleObj
4.key管理
答:vue 会很大程度的复用已经渲染过的组件,而不会重新加载,为了使有些组件不复用,vue提供了key属性,每次渲染判断key是否相同,不同则可以重新渲染。因此key属性具有唯一性
5.v-if 和 v-show
答:都是根据条件渲染内容,不同的是:v-show元素会被始终渲染并保存在dom中,只是改变css 的display属性 ,而且不支持template元素;而v-if则是根据条件创建和销毁元素;因此如果是频繁操作显隐则最好采用v-show
6.数组更新检测
答:变异方法(改变原数组):push() pop() shift() unshift() splice() reverse() sort()
非变异方法(不改变原数组):filter() slice () concat()
只能通过该splice() 或者 set () 来变数组 vue才会相应
7.v-on 如果想访问原生DOM事件 ,可以将事件传入函数 v-on:click=“clickHandle(params,$event)” 在函数定义内就可以使用event.stopPropagation() event.preventDefault()