• Vue自定义插件的使用


     通过 Vue 实例绑定方法:

     在 plugins.js 文件中创建 filter 过滤器,定义一个只返回前四个字符的方法。

    1. export default {
    2. install(Vue){
    3. // 定义过滤器
    4. Vue.filter('mySlice',function(value){
    5. return value.slice(0,4);
    6. })
    7. }
    8. }


    由于我们之前在 main.js 文件中引入过,所以直接在 Home.vue 页面使用即可。

    1. <template>
    2. <div>
    3. <h1>{{ title | mySlice }}h1>
    4. div>
    5. template>
    6. <script>
    7. export default {
    8. name: 'Home',
    9. data() {
    10. return {
    11. title: "青青草原喜洋洋股份有限公司"
    12. }
    13. }
    14. }
    15. script>

    :这个插件就相当于在全局注册了一个过滤器,任何地方都可以使用。

     

     注:除了通过 Vue 实例绑定,还可以往 Vue 原型上绑定方法,这样 Vue 实例和组件都能使用这个方法。

     通过原型链绑定方法:

    在 plugins.js 文件中给 Vue 的原型添加一个自定义方法。

    1. export default {
    2. install(Vue){
    3. // 定义过滤器
    4. Vue.filter('mySlice',function(value){
    5. return value.slice(0,4);
    6. })
    7. // 通过原型链创建方法
    8. Vue.prototype.hello = () => {
    9. alert("你好呀!");
    10. }
    11. }
    12. }

    然后在 Home.vue 页面创建点击事件使用这个方法。

    1. <template>
    2. <div>
    3. <h1 @click="hello">{{ title | mySlice }}h1>
    4. div>
    5. template>
    6. <script>
    7. export default {
    8. name: 'Home',
    9. data() {
    10. return {
    11. title: "青青草原喜洋洋股份有限公司"
    12. }
    13. }
    14. }
    15. script>

    :由于 Vue 实例和组件共用一个原型对象,所以这个方法在任何地方也都可以使用。

     

     

     自定义插件接收参数:

    插件还可以接收自定义参数,只需要在引用时传递接收即可。例如:main.js 文件

    1. import Vue from 'vue'
    2. import App from './App.vue'
    3. import router from './router'
    4. // 引入插件
    5. import plugins from './plugins'
    6. Vue.config.productionTip = false
    7. // 使用插件,并传递参数
    8. Vue.use(plugins,1,2,3)
    9. new Vue({
    10. router,
    11. render: h => h(App)
    12. }).$mount('#app')

    然后在 plugins.js 文件中的 install 方法里接收。

    1. export default {
    2. install(Vue,a,b,c){
    3. console.log(Vue);
    4. console.log(a,b,c); // 1 2 3
    5. // 定义过滤器
    6. Vue.filter('mySlice',function(value){
    7. return value.slice(0,4);
    8. })
    9. // 通过原型链创建方法
    10. Vue.prototype.hello = () => {
    11. alert("你好呀!");
    12. }
    13. }
    14. }

    :install 方法的第一个参数永远是 Vue 实例的构造函数,之后接收的才是自定义的参数

     

    原创作者:吴小糖

    创作时间:2023.5.28
     

  • 相关阅读:
    Nestjs模块机制的概念和实现原理
    ESP32设备驱动-I2C-LCD1602显示屏驱动
    如何防范各类联属欺诈?
    SpringCloudAlibaba-3.分布式事务(Seata)
    某车app登录参数分析
    喷码机如何与封箱机配合?
    SpringMVC
    [极客大挑战 2019]Knife
    python中logging日志模块
    打破数据孤岛!时序数据库 TDengine 与创意物联感知平台完成兼容性互认
  • 原文地址:https://blog.csdn.net/xiaowude_boke/article/details/130909847