我正在尝试在运行时评估我的应用程序外部的某些状态,并使用它来确定/驱动计算属性的值。然而,似乎我的财产总是返回'undefined'。我是否犯了一些严重的定义错误,这应该是不可能的?
非常感谢任何帮助。一个清理过的代码片段进行计算:
curState: function() {
if (this.authenticated) {
return true;
} else {
external_getStatus( function(status) {
if (status === 'allowed') {
return true;
} else {
return false;
}
});
}
}.property()
答案 0 :(得分:0)
当curState
为this.authenticated
时,您未从false
返回任何内容。 if
声明
if (status === 'allowed') {
return true;
} else {
return false;
}
从给予external_getStatus()
的回调中返回。您必须在return
中添加curState
语句才能获得非undefined
返回值。
另外,另外,写return status === 'allowed'
代替上述if
语句更好。