Firebase阵列未在AngularJS视图中渲染
Firebase Array not Rendering in AngularJS View
在我的"用户"服务更新了查看所需的信息后,是什么阻止了我的视图的呈现?
伪码:
- 用户登录后,应设置profile.uid信息。profile.uid后来在我的Firebase路径中用作子项
.factory('User', function (FirebaseUrl, $firebaseArray) {
var o = {};
o.setUser = function(authData) {
o.profile.uid = authData.uid;
}
o.getProfile = function() {
return o.profile;
}
return o;
}
- 使用$state.go('view')和Angular UI Router,我进入以下视图:
控制器:
.controller('viewCtrl', function ($scope, User, $firebaseArray, FirebaseUrl) {
var profile = User.getProfile();
//if I hardcore "facebook:213032130516" in the .child(), everything renders correctly...
var messagesRef = new Firebase(FirebaseUrl + 'user_meta/').child(profile.uid);
var query = messagesRef.orderByChild("timestamp").limitToLast(5);
$scope.list = $firebaseArray(query);
}
HTML:
<div ng-repeat="dog in list">
<h2> {{dog.key}}</h2>
</div>
按照目前的状态,视图不会渲染。没有记录任何错误,只是视图为空。根据控制器代码中的注释,当我硬编码.child(profile.uid),使其变为.child('facebook:112351) 有人能帮我制定一个更好的解决方案来实施吗?最终,为什么这不起作用? 谢谢!
只看这两段代码很难100%确定,但我认为在其他地方调用setUser时不会传递数据。试着注销它,看看你把它丢在哪里了。你有这个项目的github回购吗?我们可以看看?
您的用户工厂中有一个未定义的authData
。
相关文章:
- 如何包含特定于每个视图angularjs的javascript文件
- 如何在ui路由器angularjs中只更改子ui视图,同时保持父视图不变
- angularjs中带有ui路由器的嵌套视图
- 如何在AngularJS视图中使用promise(ng-show)
- AngularJS:点击选项卡刷新视图中的数据
- 如何在angularjs中检查Kendo树视图数据绑定事件
- JSON范围的更改没有反映在angularjs中的视图中
- 如何将Laravel变量传递到我的AngularJS视图中
- ASP.NET angularjs重定向到控制器的另一个视图
- 将全局变量从控制器调用到HTML视图AngularJS
- 将数据从控制器调用到HTML视图AngularJS
- 将变量传递到html视图angularjs中
- 从指令视图 AngularJS 调用控制器中的函数
- 在将模板加载到视图 AngularJS 后执行 javascript
- 递归自定义树视图 angularjs 指令调用 ng 单击两次
- 可以't在相同的局部视图Angularjs中加载两个控制器
- 使用表单填充数组,并在单独的视图angularjs中显示该数组
- 使用ng指令将HTML插入视图::AngularJS+JavaScript+Ionic
- 如何从分层数据生成剑道树视图?AngularJS
- SQL Server数据透视表返回视图(AngularJS)