如何在另一个mixins函数中使用mixins函数?

时间:2019-01-17 05:58:28

标签: javascript ecmascript-6 vuejs2

如何在vue mixins中结合两个功能?

Vue.mixin({
    methods: {
      functionOne: () => {
        console.log(1)
      }
      functionTwo: () => {
        this.functionOne()
      }
    },
    mounted () {
      this.functionTwo()
    }
})

//预期:控制台 1

//实际:控制台 无法读取未定义的属性“ functionOne”

1 个答案:

答案 0 :(得分:1)

如果将ES6箭头功能与Vue方法一起使用,它将更改this的上下文。如果您这样说:

Vue.mixin({
  methods: {
    functionOne () {
      console.log(1)
    },
    functionTwo: function () {
      this.functionOne()
    }
  },
  mounted () {
    this.functionTwo()
  }
})

它完美地工作。

functionOne ()functionTwo: function ()语法都是有效的,因此它们都出现在示例中。)