混入
混入(
mixin
)是一个对象,里面可以编写其他组件需要共用的 vue 选项
// 定义一个混入对象
var myMixin = {
created: function () {
this.hello()
},
methods: {
hello: function () {
console.log('hello from mixin!')
}
}
}
// 定义一个使用混入对象的组件
var Component = Vue.extend({
mixins: [myMixin]
})
var component = new Component() // => "hello from mixin!"
混入对象 会自动与 使用混入的组件进行选项合并:
- 值为对象的选项:自动递归合并,重名的以组件中为主
- 钩子函数:混入的钩子在组件的钩子之前调用
插件
插件通常用来为 Vue 添加全局功能
通过全局方法 Vue.use() 使用插件,需要在调用 new Vue() 启动应用之前完成
下面有很多 Vue 插件和库:GitHub - vuejs/awesome-vue: 🎉 A curated list of awesome things related to Vue.js
自定义指令
除了内置指令外,还可以注册自定义指令,来实现对 DOM 元素的底层操作
// 注册全局指令
Vue.directive('name', {
// 当被绑定的元素插入到 DOM 中时进行的操作……
inserted(el, binding) {
// el: 指令绑定的 DOM 元素
// binding: 指令的数据
// ...
}
})
渲染函数 & JSX
createElement()
:用来创建虚拟节点,相对于模板更接近编译器,用 createElement()
渲染函数来写会很复杂和麻烦,所以使用 JSX 语法