1 简介

  它是用来增强vue的。它是包含install方法的一个对象,install的第一个参数是Vue,第二个以后参数是插件使用者传入的参数

  插件里面可以配置全局过滤器、全局指令、混入、Vue原型上添加方法属性等

2 定义一个插件

1)plugin.js

export default {
install(Vue,x,y,z){
console.log(x,y,z)
//全局过滤器
Vue.filter('mySlice', function(value){return value.slice(0,4)}) //定义全局指令
Vue.directive('fbind',{
//指令与元素成功绑定时(一上来)
bind(element,binding){element.value = binding.value},
//指令所在元素被插入页面时
inserted(element,binding){element.focus()},
//指令所在的模板被重新解析时
update(element,binding){element.value = binding.value}
}) //定义混入
Vue.mixin({
data() {return {x:100,y:200}},
}) //给Vue原型上添加一个方法(vm和vc就都能用了)
Vue.prototype.hello = ()=>{alert('你好啊')}
}
}

2) main.js

import plugins from './plugins'    // 引入插件
Vue.use(plugins,1,2,3)    // 应用(使用)插件
import Vue from 'vue'
import App from './App.vue'
import plugins from './plugins' // 引入插件 Vue.config.productionTip = false Vue.use(plugins,1,2,3) // 应用(使用)插件 new Vue({
el:'#app',
render: h => h(App)
})

3)School.vue

  使用过滤器mySlice

<template>
<div>
<h2>学校名称:{{ name | mySlice }}</h2>
<h2>学校地址:{{ address }}</h2>
<button @click="test">点我测试一个hello方法</button>
</div>
</template> <script>
export default {
name:'School',
data() {
return {
name:'新东方',
address:'北京',
}
},
methods: {
test(){
this.hello()
}
},
}
</script>

4)Student.vue

  使用指令v-fbind

<template>
<div>
<h2>学生姓名:{{ name }}</h2>
<h2>学生性别:{{ sex }}</h2>
<input type="text" v-fbind:value="name">
</div>
</template> <script>
export default {
name:'Student',
data() {
return {
name:'张三',
sex:'男'
}
},
}
</script>

最新文章

  1. bat命令总结
  2. KVM的前世今生
  3. Python【第一章】:简介和入门
  4. Java http方式提交短信到短信网关
  5. Power BI for Office 365介绍
  6. Haproxy内网连接阿里云存储OSS后提供下载
  7. spring日记------部署环境、写demo
  8. OAuth在WebApi中的使用,前后台分离的调用方式
  9. libsdl中文输入法候选列表不显示解决方案
  10. iomanip
  11. ShareSDK 社会化分享 集成步骤
  12. html 背景透明文字不透明
  13. ubuntu下安装ssh服务器方法
  14. Android FoldingLayout 折叠布局 原理及实现(一)
  15. js基础复习点
  16. java.util.NoSuchElementException问题定位
  17. knockout checkbox 全选
  18. RMQ st算法 区间最值模板
  19. 006_tcpdump专题
  20. Node.JS 项目打包 JXCore

热门文章

  1. 洛谷 P4135 作诗 题解
  2. ui自动化测试数据复原遇到的坑——1、hibernate输出完整sql
  3. Go语言核心36讲21
  4. Oracle 插入时间戳id函数func_getnewid()
  5. day 26 form表单标签 &amp; CSS样式表-选择器 &amp; 样式:背景、字体、定位等
  6. 【实时数仓】Day02-DWD、DIM层数据准备:各层职能、行为日志DWD层、业务日志DWD层及分流(Phoenix和HBASE)
  7. 把时间沉淀下来 | Kagol 的 2022 年终总结
  8. SQLMap入门——获取当前网站数据库的名称
  9. java顺序数组插入元素
  10. 基于K-means聚类算法进行客户人群分析