javascript-是否可以将方法嵌套在Vue.js中以便对相关方法进行分组?

我想将我的一些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>

但我收到此控制台错误:

未捕获的TypeError: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-对象的组数组嵌套了一些具有特定名称的键


下一篇:Spring日常笔记记录18--spring整合mbbatis的思路(动力节点)