vue的基本信息
vue的生命周期
vue的双向数据绑定原理
vue.js 则是采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter,getter,
在数据变动时发布消息给订阅者,触发相应的监听回调。我们先来看Object.defineProperty()这个方法:
var obj = {};
Object.defineProperty(obj, 'name', {
get: function() {
console.log('我被获取了')
return val;
},
set: function (newVal) {
console.log('我被设置了')
}
})
obj.name = 'fei';//在给obj设置name属性的时候,触发了set这个方法
var val = obj.name;//在得到obj的name属性,会触发get方法
template的作用及用法
template的作用是模板占位符,可帮助我们包裹元素,但在循环过程当中,template不会被渲染到页面上
<template>
<div class="root">
<!--在template上使用for循环-->
<template v-for="item,index in 5">
<div>{{index}}---{{item}}</div>
</template>
</div>
</template>
vue中keep-alive的作用
在vue项目中,难免会有列表页面或者搜索结果列表页面,点击某个结果之后,返回回来时,
如果不对结果页面进行缓存,那么返回列表页面的时候会回到初始状态,但是我们想要的结果
是返回时这个页面还是之前搜索的结果列表,这时候就需要用到vue的keep-alive技术了.
https://www.cnblogs.com/lxlin/p/8472395.html
computed 和 watch 的差异?
(1)computed 是计算一个新的属性,并将该属性挂载到 Vue 实例上,
而 watch 是监听已经存在且已挂载到 Vue 实例上的数据,所以用 watch
同样可以监听 computed 计算属性的变化。
(2)computed 本质是一个惰性求值的观察者,具有缓存性,只有当依赖
变化后,第一次访问 computed 属性,才会计算新的值。而 watch 则是
当数据发生变化便会调用执行函数。
(3)从使用场景上说,computed 适用一个数据被多个数据影响,而
watch 适用一个数据影响多个数据。
$route 和 $router 的区别?
$route 是“路由信息对象”,包括 path,params,hash,query,
fullPath,matched,name 等路由信息参数。而 $router 是“路由实例”
对象包括了路由的跳转方法,钩子函数等。
Vue中mixin和mixins的区别
mixin用于全局注册一个混入,如果有公共的组件使用频率很高的话,可以使用
mixin很方便的引入公共的部分mixins选项接受一个混入对象的数组,mixins在引
入组件之后,则是将组件内部的内容如data属性,methods方法与父组件的内容
相对应进行合并,可以对父组件的属性进行扩充,mixins混入的钩子函数会优先
于组件内的钩子函数执行,并且在遇到同名选项的时候也会有选择性的进行合
并。
vue中组件传值的方法
1.父组件向子组件传值 props
2.子组件向父组件传值的方法 事件方式
3.兄弟组件传值的方法 $emit, $on