vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue状态判断是否执行点击

vue全局混入之状态判断是否执行点击

作者:Jackson_3791

这篇文章主要介绍了vue全局混入之状态判断是否执行点击方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

vue全局混入状态判断是否执行点击

1.项目下创建 mps-ui\src\plugins\listenerClick.js

2.文件内写法

//listenerClick.js
import { mapGetters } from 'vuex'
export default {
  computed: {
    ...mapGetters(['leftNavStatus'])
  },
  data() {
    return {}
  },
  mounted() {
    if (document.getElementById('controlBtn11')) {
      document
        .getElementById('controlBtn11')
        .addEventListener('click', this.doSomeThings(), true)
    }
  },
  methods: {
    doSomeThings() {}
  }
}

3.main.js

加以下代码

// 全局监听
 Vue.mixin(require('./directive/listenerClick.js').default)

全局可使用这里面的变量和方法

vue根据条件决定是否执行事件

再配合三目运算 , 可以更完善

vue中的全局混入mixin

混入提供了一种非常灵活的方式,来分发 Vue 组件中的可复用功能。

一个混入对象可以包含任意组件选项。

当组件使用混入对象时,所有混入对象的选项将被“混合”进入该组件本身的选项。

举例

// 定义一个混入对象
var myMixin = {
  created() {
    this.hello()
  },
  methods: {
    hello() {
      console.log('hello from mixin!')
    }
  }
}
 
// main.js全局使用
Vue.mixin(myMixin)

因为是全局混入,myMixin中的数据和方法会被挂载到每个组件的实例对象上

注意:

1、当组件和混入对象含有同名选项时,这些选项将以恰当的方式进行“合并”。

比如,数据对象在内部会进行递归合并,并在发生冲突时以组件数据优先

2、同名钩子函数将合并为一个数组,因此都将被调用。另外,混入对象的钩子将在组件自身钩子之前调用。

3、值为对象的选项,例如 methodscomponents 和 directives,将被合并为同一个对象。两个对象键名冲突时,取组件对象的键值对。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文