我想将我的一些 Vue.js 方法组合在一种“子方法”类中,但我似乎只能有单级方法。
例如,如果我想要一组纯粹处理按钮操作的方法:
new Vue({
el: '#app',
data: { },
methods: {
buttonHandlers: {
handler1: function() {
dosomething;
},
handler2: function() {
dosomething;
}
}
}
});
我希望能够使用类似的东西:
<button v-on:click="buttonHandlers.handler1">Click Me</button>
但什么也没发生。
我已经尝试通过添加括号强制函数运行:
<button v-on:click="buttonHandlers.handler1()">Click Me</button>
但我收到此控制台错误:
未捕获类型错误:scope.buttonHandlers.handler1 不是函数
我设置了一个小的 https://jsfiddle.net/ozx9oc4c/来证明我的意思。
如果有人知道在 Vue.js 中将函数逻辑分组到父方法下的方法,而不是没有真正结构的单级方法页面,我将不胜感激。
最佳答案
我最接近的做法是将父级声明为一个函数,并返回一个带有一组方法的对象。
例子:
new Vue({
el: '#app',
data: {},
methods: {
buttonHandlers: function() {
var self = this; // so you can access the Vue instance below.
return {
handler1: function() {
dosomething;
self.doSomething();
},
handler2: function() {
dosomething;
},
},
}
}
});
你可以这样调用方法:
<button @click="buttonHandlers().handler1()">Click Me</button>
关于javascript - 是否可以在 Vue.js 中嵌套方法以便对相关方法进行分组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36108953/