【问题标题】:Vue js how call method defined in same component from another methodVue js如何从另一个方法调用同一组件中定义的方法
【发布时间】:2020-04-05 17:44:58
【问题描述】:

我有一个 vue 模块,我定义了一些方法,method1,method2,method3 ecc,

methods: {
          method1 : async function() { ... },
          method2 :  function() { ... },
          method3 :  function() { ... },
          showMessage : function(message) { ... }
}

我在方法列表的末尾添加了一个 showMessage 函数:

真的很简单:

showMessage: function(message){
           alert(message);
}

但问题是我无法从模块的其他方法中调用,例如,如果我尝试从方法 3 中调用我使用 this.showMessage("somethings") 或 showMessage("somethings"),但我有错误:

Uncaught ReferenceError: showMessage is not defined

【问题讨论】:

  • 有一个叫 mixin 的助手。你可以看看 vue 文档
  • this.showMessage() 应该没有问题,所以如果这不起作用,则说明其他问题。
  • 提供一个完整的演示怎么样?

标签: javascript vue.js methods


【解决方案1】:

如果您从定义它的组件调用 showMessage,则不会出现该问题。但是,如果您从某个其他组件调用它,您首先需要某种方式在该组件中使用该方法。在组件之间共享相同代码同时避免重复的最佳方法是创建一个 mixin。

你可以在这里阅读它 (https://vuejs.org/v2/guide/mixins.html)

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 2018-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    相关资源
    最近更新 更多