- 自定义Vue插件
- 集成RxJS和Vue.js
- 添加
v-model
来支持Vue.js组件 - 理解Vue.js组件实例化
自定义Vue插件
Vue.js插件强大而又很容易添加到我们应用的全局特性中。其拥有各种各样的用途,从分发应用的组件到诸如路由和不可变数据存储的外围功能。
Vue.js插件是相当简单的,通过install
方法安装。该方法带有两个参数:全局的Vue
对象,和包含用户自定义选项的对象。然而,一个插件系统这么简单还可以产生相当大的影响。
我们的第一个插件
作为介绍的第一个插件,我们将编写一个基本的插件来实现当一个组件被每次加载到DOM时写入控制台。
my-vue-plugin.js:
// This is your plugin object. It can be exported to be used anywhere. |
这个组件现在可以用于Vue应用,通过导入并调用Vue.use(MyPlugin)
。
main.js:
import Vue from 'vue' |
您可能会想,为什么不直接在main.js调用Vue.mixin()
呢?原因在于我们在Vue添加了全局的函数而没有直接修改APP,这是几乎总是最好的分裂成一个单独的模块,可以添加或删除。这也使得插件非常容易分配。
添加功能
安装APP组件和指令
如果希望将打包的组件和指令作为插件发布,可以这样写:
import MyComponent from './components/MyComponent.vue'; |
修改全局的Vue对象
可以从插件将Vue的全局对象修改成期望的:
const MyPlugin { |
修改Vue实例
直接向组件实例添加一个属性或方法没有任何注入机制,您可以修改Vue原型如下所示:
const MyPlugin { |
这些属性将被添加到所有组件和Vue实例。
添加组件周期勾子或属性
如上所示的第一个插件例子,您可以添加生命周期钩子,通过使用Mixin修改Vue组件。
const MyPlugin = { |
自动安装
想让其他人使用您的插件,通常期望您的插件包含Vue标签,能自动安装而不需要调用Vue.use()
,我们可以在最后添加以下几行来实现:
// Automatic installation if Vue has been added to the global scope. |
发布插件
一旦完成插件并准备发布到社区,以下步骤可以让人们发现您的插件:
- 开源并分发文件到NPM和GITHUB。
- 推送到官方的awesome-vue,很多人从这儿寻找插件。
- 提交到Vue Forum, Vue Gitter Channel和Twitter。