• Vue 26 plugins


    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>
  • 相关阅读:
    C语言编程的两个工具:valgrind和core
    C语言动态库和静态库的使用及实践
    编译安装pgbouncer-checking for OpenSSL... configure: error: not found
    automake使用
    make笔记
    GCC命令
    gcc中关于静态库和动态库使用(转)
    zookeeper的c API 单线程与多线程问题 cli_st和cli_mt
    zookeeper数据一致性与paxos算法
    Deepgreen DB简介(转)
  • 原文地址:https://www.cnblogs.com/jthr/p/16494374.html
Copyright © 2020-2023  润新知