- v-model 原理
其实就是一个语法糖,:bind=‘value’ 和 ‘@change=“value=$event.target.value”’的结合,就是绑定数据并且监听数据的改变 - 给VUE定义全局的方法
挂载到vue的prototype上 - keep-alive相关的生命周期
当keep-alive组件激活时,触发activated,停用触发deactivated - vue2.0兼容IE那些版本?
不支持IE8及其以下,部分兼容IE9,完全兼容IE10(因为vue的响应式是基于es5的Object.defineProperty的,ie8以下不兼容这个api) - vue怎么重置data
可以使用Object.assign() [该方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象,将返回目标对象]
object.assign(this.$ data, this.$ options.data.call(this))
this.$ data——当前状态下的data
this.$ options.data——初始状态下的data
该使用场景是(表单提交后,重置表单到默认值) - style加scoped属性的用途和原理吗
用途:避免全局同名CSS污染
原理:在标签上加上v-data-something属性,再在选择器上加上对应的【v-data-something】,即css带属性选择器 - 在vue项目中如何配置favicon
1.将favicon图片放到static文件夹下
2.然后在index.html中添加
<link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico">
- vue给组件绑定自定义事件无效怎么解决
使用.native修饰符 - vue的is特性
动态组件 ,切换组件? - vue的:class和:style的几种方式
:class 绑定变量,对象,数组,三元表达式
:style 绑定变量,对象,函数返回值,三元表达式 - prop验证的type类型有哪几种?
number,string,object,boolean,array,function,promise - v-once的使用场景
单次触发的场景(表单提交,防止用户在请求未及时响应时,多次提交) - 双向绑定?及原理?
- 就是存在data→view,view→data两条数据流模式,简单理解为change和bind的结合。目前基于双向数据绑定都是基于Object.defineProperty()重新定义get和set的方法实现的,修改set方法赋值,获取触发get方法取值,并通过数据劫持发布信息
- 通过Observer把数据劫持(Object.defineProperty()),加入到订阅器(dep)订阅器收集订阅者(watcher),视图通过编译,解析指令等一系列操作收集给订阅者,最后通过触发数据变化(update)通知所有订阅者完成数据驱动
- vue优缺点
优点:数据驱动,模块化,轻量级,易入门
缺点:不支持低版本浏览器 - vue-cli解决跨域
dev 》devServer.proxy - vue-router重定向页面
-路由中配置redirect属性 - 配置404页面
path:* 但是放在最后一条 - vuex中actions和mutations的区别
mutations可以直接修改state,但是只能包含同步操作,同时只能通过提交commit调用
actions是用来触发mutations的,无法直接改变state,它可以包含异步操作,只能通过store.dispatch触发 - vuex使用actions时不支持多参数传递怎么办
object - 页面刷新后vuex的state数据丢失怎么办?
可以使用sessionStorage或者localStorage