VUE----插件

插件

功能: 用于增强Vue
本质: 包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数
据。
定义插件:
    对象.install = function(Vue,options) {
        // 1.添加全局过滤器
        Vue.filter(...)

        // 2.添加全局指令
        Vue.directive(...)
    }

定义插件
plugins.js

export default {
    install(Vue){
        // 全局过滤器
        Vue.filter('mySlice',function(value){
            return value.slice(0,4)
        })

        // 定义全局指令
        Vue.directive('fbind',{
            // 指令与元素成功绑定时(一上来)
            bind(element,binding){
                element.value=binding.value
            },
            // 指令所在元素被插入页面时
            inserted(element,binding){
                console.log(binding)
                element.focus()
            },
            // 指令所在的模板被重新解析时
            update(element,binding){
                element.value=binding.value
            }
        })

        // 定义混入
        Vue.mixin({
            data(){
                return {
                    x:100,
                    y:200
                }
            }
        })

        //给Vue原型上添加一个方法(vm和vc都可以用)
        Vue.prototype.dello = ()=> {alert('你好')}
    }
}

全局应用
main.js

// 引入vue
import Vue from 'vue'
//引入App
import App from './App'
// 引入插件
import plugins from './plugins'
// 关闭Vue的生产提示
Vue.config.productionTip = false

//应用(使用)插件
Vue.use(plugins)
// 创建Vue
new Vue({
    render:h=>h(App)
}).$mount("#app")

<template>
  <div>
      <h2>学校名字: {{name | mySlice}}</h2>
      <h2>学校地址: {{address}}</h2>
      <input type="text" v-fbind:value="name">

      <!-- <button @click="test">点我触发hello</button> -->
      <button @click="dello">点我触发hello</button>

  </div>
</template>

<script>
export default {
  name:'Student',
  data () {
    return {
        name:'blibli啊啊啊啊啊',
        address:'无锡'
    };
  },
  methods: {
    // test(){
    //   this.dello()
    // }
  },
}

</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值