无法绑定v-on:单击Vuetify [Vue警告]:v-on处理程序中的错误:“ TypeError:handler.apply不是函数”

时间:2019-07-02 09:17:22

标签: vue.js vue-component vuetify.js

我试图将click事件绑定到动态生成的子标题v-list-tile Vuetify https://vuetifyjs.com/en/components/subheaders上,但是每次单击该选项时,都会出现错误。

vue.js:634 [Vue warn]: Error in v-on handler: "TypeError: handler.apply is not a function"

found in

---> <VListTile>
       <VList>
         <VCard>
           <VApp>
             <Root>

我尝试强行添加方法(不传递对象),并且该方法有效。它只是在将其传递给对象并进行动态渲染时触发。

这是我遇到的错误的Codepen

我期望的是在不触发错误的情况下触发所调用的方法

2 个答案:

答案 0 :(得分:0)

我已经回答了问题。感谢@James Whiteley和@ Kim#5499(他们创建了解决方案Codepen)。

根据Kim和James的说法,我的方法位于Data对象内部。它们应该处于同一级别。

在Kim提供的Codepen示例中,他从我的数据对象中取出了函数名称,只留下了数字(id)。通过在@Click事件上调用该函数并传递数字,该方法可以正常工作。

Promise.all(promises)
    .then(
        () => {
            returnError();
        },
        error => {
            // this handler gets called because there is an error
            logError();
        })
    .then(
        // this promise receives the rejection, calling the onrejected argument, which is undefined
        () => {
            willthisRun();
        }
    );

答案 1 :(得分:0)

这发生在我身上,因为我在HTML标签上编码了类似的内容:

@something="colorList"

colorList是一个javascript对象数组。相反,您必须编写一个将值传递到的函数,并在函数内部设置该值:

<... @something="updateColorList" ...>

methods

updateColorList(newColorParameter): {
    this.colorList = newColorParameter
}