为啥挂载在 Vue 插件或 Mixin 中会工作多次? [关闭]

Posted

技术标签:

【中文标题】为啥挂载在 Vue 插件或 Mixin 中会工作多次? [关闭]【英文标题】:Why does mounted in Vue plug or in Mixin work several times? [closed]为什么挂载在 Vue 插件或 Mixin 中会工作多次? [关闭] 【发布时间】:2021-03-11 17:29:25 【问题描述】:

为什么它会重复自己以及如何防止它并使其只发生一次?是虫子吗?在插件中:

const globala = 
  install(Vue) 
    Vue.mixin(
      mounted() 
        console.log('hi')
      
    )
  

这里只是混合:

Vue.mixin(
  mounted() 
    console.log('hi')
  
)

【问题讨论】:

【参考方案1】:

mixin 可以是全局的,也可以是组件本地的。如果你定义它globally,它将应用于之后创建的每个组件:

Vue.mixin(
  mounted() 
    console.log('hi')
  
)

如果你定义它locally,它只会适用于你手动添加它的组件:

const myMixin = 
  mounted() 
    console.log('hi')
  


new Vue(
  el: "#app",
  mixins: [myMixin] // Only added to this component
);

您已经定义了一个全局 mixin,因此之后创建的每个组件都将实现 mounted 挂钩。

【讨论】:

以上是关于为啥挂载在 Vue 插件或 Mixin 中会工作多次? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

Vue Js:在本地使用导入插件 mixin

vue定义global.js,挂载在vue原型上面使用

Vue基础系列(十九)-析脚手架-控制vue的4格缩进-vue.config.js配置文件-ref属性-props配置项-mixin(混入)-插件

Linux中挂载是啥意思?为啥要挂载呢?又为啥要改变挂载点呢?

Vue-test-utils 在 nuxt 中使用 mixin 进行 vee-validate

Vue-cli中使用scss 的全局变量和 @mixin