【问题标题】:Ember Calling method inside the controller控制器内部的 Ember 调用方法
【发布时间】:2018-04-22 13:28:42
【问题描述】:

这是我的代码,我必须在 Ember 控制器中调用另一个方法 我试过了,但这不起作用我对此感到困惑......

请帮我看看这段代码有什么问题?

export default Ember.Controller.extend({
  ....

  getValue(){
    var a = 7 * 2;
    return a;
  },

  getResult(){
    var result = this.getValue(); // result is this.getValue is not function 
  }
});

【问题讨论】:

  • 这里如何调用getResult函数很重要。没有相关代码,这个问题是无法回答的。投票结束

标签: ember.js ember-controllers


【解决方案1】:

首先这段代码没有意义:

getValue(){
  var a = a * 2;
  return a;
},

在这里,您在声明之前使用a。


但要回答您的问题:您的代码是正确的。

Here 是一个工作示例。我刚刚将 var a = a * 2; 替换为 var a = 7 * 2; 以使此代码有效。

【讨论】:

  • 那是的答案。你的代码是正确的。如果那不是您的问题,则您没有问题(或不发布相关代码)。
  • 我没有访问 getValue() 它的返回 this.getValue 不是函数
  • 你查过我链接的微博了吗?有用!如果这不对您有用,请提供一个最小的不工作示例,例如 git repo 或 twiddle。
  • 因为您可以访问操作中的方法,但我需要在自定义函数中使用它
  • 如何调用这个自定义函数?请显示此代码。可能是你的错误。
【解决方案2】:

我的假设是调用 getResult() 的任何东西都不会将 this 的上下文设置到控制器,我的直觉是您需要将 getResults() 放入 actions 对象中。

【讨论】:

  • 它很简单,我可以从窗口位置获取哈希 url,然后检查 url 的最后一个路径,这样我就可以在控制器内部创建一个小函数来检查 url 的最后一个路径(我知道将由辅助函数完成)所以当在自定义函数中调用控制器自定义函数时,我需要调用我尝试过的那个 url 检查自定义函数,但它的返回函数没有定义对不起,我没有在这里分享我的全部代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多