Firebase AngularFire 通过查找从 DOM 加载对象
Firebase AngularFire load object from DOM via lookup
我正在迭代并将图书租赁列表显示为 Firebase 中的对象。每次租借都需要 link 一本书并显示有关它的一些详细信息。所以每个出租项目都有 Book 对象的 ID。这是我的 HTML:
<li ng-repeat="rental in rentals">
{{rental.dueDate}} - {{lookup(rental.bookId).name}}
</li>
我在控制器中有以下查找方法:
$scope.lookup= function(bookId){
var booksRef = firebase.database().ref().child("books");
var book = $firebaseObject(booksRef.child(bookId));
return book;
}
调试代码似乎正确调用了查找方法,returns 正确的书。
不幸的是,加载页面时出现异常:
10 $digest() iterations reached. Aborting! Watchers fired in the last
5 iterations: []
https://docs.angularjs.org/error/$rootScope/infdig?p0=10&p1=%5B%5D
有什么想法吗?
p.s。我很乐意使用不同的方法,如果它是更多 "correct" 一个
我很容易地解决了这个问题:
创建一个服务bookService并将其注入到控制器中。然后,从 html 调用它如下:
{{ bookService.$getRecord(rental.bookId).name }}
我正在迭代并将图书租赁列表显示为 Firebase 中的对象。每次租借都需要 link 一本书并显示有关它的一些详细信息。所以每个出租项目都有 Book 对象的 ID。这是我的 HTML:
<li ng-repeat="rental in rentals">
{{rental.dueDate}} - {{lookup(rental.bookId).name}}
</li>
我在控制器中有以下查找方法:
$scope.lookup= function(bookId){
var booksRef = firebase.database().ref().child("books");
var book = $firebaseObject(booksRef.child(bookId));
return book;
}
调试代码似乎正确调用了查找方法,returns 正确的书。
不幸的是,加载页面时出现异常:
10 $digest() iterations reached. Aborting! Watchers fired in the last 5 iterations: []
https://docs.angularjs.org/error/$rootScope/infdig?p0=10&p1=%5B%5D
有什么想法吗?
p.s。我很乐意使用不同的方法,如果它是更多 "correct" 一个
我很容易地解决了这个问题:
创建一个服务bookService并将其注入到控制器中。然后,从 html 调用它如下:
{{ bookService.$getRecord(rental.bookId).name }}