我如何在vue mixins中结合两个功能?
Vue.mixin({
methods: {
functionOne: () => {
console.log(1)
}
functionTwo: () => {
this.functionOne()
}
},
mounted () {
this.functionTwo()
}
})
// expected:控制台
1个
//实际:控制台
无法读取未定义的属性“ functionOne”
最佳答案
如果将ES6箭头功能与Vue方法一起使用,则会更改this
的上下文。如果您这样说:
Vue.mixin({
methods: {
functionOne () {
console.log(1)
},
functionTwo: function () {
this.functionOne()
}
},
mounted () {
this.functionTwo()
}
})
它完美地工作。
(
functionOne ()
和functionTwo: function ()
语法均有效,这就是为什么它们都出现在示例中的原因。)