【发布时间】:2018-12-15 23:10:15
【问题描述】:
我对 AngularJS 中的自定义指令有疑问。
我的作用域中有一个列表,我使用 ng-repeat 在表中创建 tr 行的对象列表。 tr 行是一个自定义指令。
我有类似的东西:
<tr custom-tr ng-repeat='element in list'></tr>
由于列表是通过 HTTP 调用填充的,因此列表会一点一点地填充,因为我的 JSON 响应中的每个结果都有一个 foreach:
promise.then(function(json) {
json.data.foreach(function(response) {
other_promise.then(funtion(element) {
$scope.list.push(element);
})
})
})
所以随着 $scope.list 一点一点地获得新元素,我的表格应该每次都显示一个新行,但实际上它在渲染 TR 之前等待 foreach 结束。
当我查看检查器的网络选项卡时,我注意到 tr 行的 HTML 模板是在所有承诺之后加载的。
有没有办法预加载模板,这样我就可以在所有承诺完成之前看到表格中的行?还是我应该采取不同的做法?
提前谢谢你,
【问题讨论】:
-
尝试通过添加 ng-if 来基于数组加载指令,如 "
". -
npmjs.com/package/gulp-ng-template-cache 使用 app.js 中内置的模板构建您的应用
标签: angularjs