Vue
如何注册一个Vue组件
全局注册:
局部注册:
Vue双向绑定的实现原理
vue数据双向绑定是通过数据劫持结合发布者-订阅者模式的方式来实现的。
数据劫持是通过Object.defineProperty()来监听属性的变化,用set、get进行重写。
在set做触发发布订阅的emit来实现改变数据更新视图,视图则可通过input、change事件监听来更新数据
组件间如何传递参数
1.父子组件通信使用prop和自定义事件
2.非父子组件通信使用eventBus
3.Vuex状态管理
Vue生命周期钩子和触发顺序
beforeCreate--->created--->beforeMount ---> mounted ---> beforeUpdate --->updated --->
beforeDestroy ---> destroyed
slot插槽
slot是用于实现内容分发的,即支持在组件内动态的插入相应的Html内容。
普通插槽:可在插槽中声明一个默认值
Submit
具名插槽:一个组件需要多个slot时,可为插槽定义具体的名字
作用域插槽:希望插槽能访问/子组件的数据是,可使用作用域插槽
解构插槽
动态插槽名
如何让自定义组件绑定原生事件,vue还有那些修饰符?
使用native事件修饰符
.stop 阻止冒泡
.prevent 阻止默认事件
.capture
.self 即事件触发元素是自身才触发
.once 即此事件绑定的函数只触发一次
.passive
Vue-router
有哪些监听路由的方式
1.全局守卫 beforeEach
2.组件内路由钩子 beforeRouteEnter beforeRouteUpdate beforeRouteLeave
3.路由独享守卫 在路由配置上直接定义 beforeEnter