【发布时间】:2015-10-21 00:20:30
【问题描述】:
以下对我有用:
HTML:
{{user.uid}}
JS:
"use strict";
app.controller('Ctrl', function($scope, Auth) {
$scope.user = Auth.user;
});
但是
HTML:
{{uid}}
JS:
app.controller('Ctrl', function($scope, Auth) {
$scope.uid = Auth.user.uid;
});
不起作用,这是因为 Auth.user.uid 未定义!为什么会这样?为什么我们可以在视图中调用属性,而不能在控制器中调用?如果我想在控制器中调用一个属性怎么办?
【问题讨论】:
-
Auth.user是否返回承诺? -
@Claies 我的猜测是其他地方正在异步填充
Auth.user。它本身并不是一个承诺 -
@Phil 是的,就像来自
$http的承诺。不管怎样,没有看到Auth的代码,我们只能猜测真正的问题。 -
我的坏人——我很确定我和这里有同样的问题:stackoverflow.com/questions/25450325/…——我应该删除这个问题吗?
标签: javascript angularjs firebase