【发布时间】:2016-03-03 20:05:57
【问题描述】:
我正在尝试从 Google 图书 API - https://www.googleapis.com/books/v1/volumes 检索数据
这是 plnkr 链接-https://plnkr.co/edit/K4f7CVIeurAUMRzQYMb0?p=preview
我在搜索文本中输入 ISBN 编号(例如:1234),并使用我从 google 收到的响应项更新 bookList。
我正在尝试使用ng-repeat 遍历这些书籍,但它没有更新。
我需要点击搜索两次才能看到ng-repeat中的结果。
我很困惑为什么不动态更新内容。
查看 plnkr 链接。 https://plnkr.co/edit/K4f7CVIeurAUMRzQYMb0?p=preview
在搜索文本中输入 1234 并点击搜索,不会在 html 中更新。
再次点击搜索,它会使用最后一个响应更新 html。
谢谢。
【问题讨论】:
-
你不应该使用$.ajax(),而是使用$http,基本上你的方法是错误的。
-
另外,ng-repeat 应该在 li 元素上,而不是 ul
-
好的,是的,我会这样做的。但是任何想法,为什么它不更新。
-
你像这样使用 $http:
$http.get(url).then(function(response) { first.books = response.data; }, function(error){console.log(error)}。这样,在评估范围时,在解决 http 承诺后,您的转发器将使用结果进行更新。那么你的 li 应该是<li ng-repeat="book in first.books"> -
嗨,它成功了。但我还是没明白这里不使用 $.ajax 方法的意义。
标签: javascript angularjs