插件

作者: 冰点雨 | 来源:发表于2022-03-30 09:24 被阅读0次

功能:用于增强 Vue
本质:包含 install 方法的一个对象,install 的第一个参数是 Vue,第二个以后的参数是插件使用者传递的数据
定义插件:
对象.install = function(vue,options){
1.添加全局过滤器
Vue.filter(...)
2.添加全局指令
Vue.directive(...)
3.配置全局混入
Vue.mixin(...)
4.添加实例方法
Vue.prototype.$myMethod = function(){...} Vue.prototype.$myProperty = xxx }
使用插件:Vue.user()

e3cfbf9174b1f384415721d70316781.png

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) {
        element.focus()
      },
      //指令所在的模板被重新解析时
      update(element, binding) {
        element.value = binding.value
        element.focus()
      },
    })

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

    // 给Vue原型上添加一个方法(vm和vc就都能用了)
    Vue.prototype.hello = () => { alert('你好啊') }
  }
}

mian.js

import Vue from 'vue'
import App from './App.vue'
// 引入插件
import plugins from './plugins.js'
Vue.config.productionTip = false

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

Student.vue

<template>
  <!-- 组件的结构 -->
  <div class="demo">
    <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>

<style scoped>
/* 组件的样式 */
</style>

School.vue

<template>
  <!-- 组件的结构 -->
  <div class="demo">
    <h2>学校名称:{{ name | mySlice }}</h2>
    <h2>学校地址:{{ address }}</h2>
    <button @click="test">点我测试一个htllo方法</button>
  </div>
</template>

<script>
// 组件交互相关的代码(数据、方法等等)
// 第一步:创建学校组件
export default {
  name: 'School',
  data() {
    return {
      name: '清华大学22222222',
      address: '北京',
    }
  },
  methods: {
    test() {
      this.hello()
    },
  },
}
</script>

<style scoped>
/* 组件的样式 */
</style>

相关文章

  • React配置过程中用到的插件汇总

    ●react插件●react-dom插件●react-router插件●react-redux插件●babel插件...

  • iOS项目实战02

    修改插件:查找插件 -> 插件路径(不能记) -> Xcode插件开发 -> 查看插件代码 -> 搜索instal...

  • 5.文档 - gitbook - 插件

    参考 官方插件 重点参考 GitBook 插件 常用插件 配置插件 到 官方插件 上找合适的插件 在配置文件中安装...

  • FCPX系列的插件怎么安装导入?Final cut pro x插

    fcpx插件怎么安装? Fcpx插件怎么解压安装?fcpx插件怎么卸载?fcpx插件怎么添加?fcpx lut插件...

  • Cordova 插件更新

    查看项目插件列表 移除插件 添加插件

  • IDEA破解

    配置插件 配置仓库 下载插件 使用插件

  • Cordova 本地插件

    1 安装插件环境 2 创建插件 例子 添加配置 进入插件文件夹下初始化插件 插件使用

  • Webpack入门之plugins篇

    入门篇主要先学学插件的使用,不涉及自定义插件。 首先 插件分为:内置插件和外部插件。 内置插件例如BannerPl...

  • Gradle中插件的使用

    目录 插件的类型 插件的类型分为:1.脚本插件2.二进制插件 插件的使用 1.脚本插件的使用 脚本插件的使用方法如...

  • 更多关于CocoaScript

    目录 入门插件基础您的第一个插件开发环境调试Action API发布插件 高级插件捆绑插件,脚本和命令插件位置更多...

网友评论

      本文标题:插件

      本文链接:https://www.haomeiwen.com/subject/jerqdrtx.html