【问题标题】:Computed Property with callback returns 'undefined'带有回调的计算属性返回“未定义”
【发布时间】:2013-04-25 09:15:37
【问题描述】:

我正在尝试在运行时评估我的应用程序外部的一些状态,并使用它来确定/驱动计算属性的值。然而,我的财产似乎总是返回“未定义”。我是否犯了一些严重的定义错误,这不可能吗?

任何帮助将不胜感激。清理后的 sn-p 代码进行计算:

curState: function() {
  if (this.authenticated) {
    return true;
  } else {
    external_getStatus( function(status) {
      if (status === 'allowed') {
        return true;
      } else {
        return false;
      }
    });
  }
}.property()

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    this.authenticatedfalse 时,您不会从curState 返回任何内容。 if 声明

    if (status === 'allowed') {
        return true;
    } else {
        return false;
    }
    

    从给external_getStatus() 的回调中返回。您必须将return 语句放入curState 以获得非undefined 的返回值。

    另外,顺便说一句,写return status === 'allowed'而不是上面的if语句更好。

    【讨论】:

    • 第一部分很有道理,谢谢!虽然有点不确定如何从异步调用中获取值作为返回值。
    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2018-07-15
    • 1970-01-01
    • 2014-07-28
    相关资源
    最近更新 更多