vue-15 自定义插件
作者:互联网
插件的作用
- 插件通常会为 Vue 添加全局功能,一般是添加全局方法/全局指令/过滤器等
- Vue 插件有一个公开方法 install ,通过 install 方法给 Vue 添加全局功能
- 通过全局方法 Vue.use() 使用插件,它需要在你调用 new Vue() 启动应用之前完成.
案例演示
- 开发插件
(function(){
//声明 MyPlugin 插件对象
const MyPlugin = {}
MyPlugin.install = function (Vue, options) {
// 1. 添加全局方法或属性
Vue.myGlobalMethod = function () {
alert('MyPlugin.myGlobalMethod全局方法调用了')
}
// 2. 添加全局指令
Vue.directive('my-directive', {
inserted (el, binding) {
el.innerHTML = "MyPlugin.my-directive指令被调用了" + binding.value
}
})
// 3. 添加实例方法 new Vue()
Vue.prototype.$myMethod = function (value) {
alert('Vue 实例方法myMethod被调用了:' + value)
}
}
//将插件添加 到 window对象
window.MyPlugin = MyPlugin
})()
- 使用插件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>自定义插件</title>
</head>
<body>
<div id="app">
<span v-my-directive="content"> </span>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<!-- 要引入在vue.js下面 -->
<script src="js/plugins.js"></script>
<script>
//1. 引入插件MyPlugin, 其实就是安装 MyPlugin 插件
Vue.use(MyPlugin)
var vm = new Vue({
el: '#app',
data: {
content: 'hello'
}
})
//调用插件中的实例 方法,注意是vm调用,不是Vue
// 注意,不要少了 $
vm.$myMethod('mengxuegu')
//调用全局方法,注意是 Vue进行调用,不是vm
Vue.myGlobalMethod()
</script>
</body>
</html>
git源码地址:https://gitee.com/cyzgw/vue_demo.git
https://gitee.com/cyzgw/vue_demo/tree/master/demo-01
标签:插件,vue,自定义,调用,MyPlugin,Vue,全局,添加 来源: https://blog.csdn.net/qq_34479912/article/details/114604635