0

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

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

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

1 回答 1

0

你没有从curStatewhen this.authenticatedis返回任何东西falseif声明_

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

从给定的回调返回external_getStatus()。您必须输入一个return语句curState才能获得非undefined返回值。

另外,顺便说一句,写起来return status === 'allowed'比上面的if语句更好。

于 2013-05-01T11:23:09.290 回答