AngularJS 在 http 调用中填充的 ng-repeat 和范围导致空 html 元素
AngularJS ng-repeat and scope populated within http call results in empty html elements
我在范围内定义了一个数组:
$scope.foo = [];
然后我进行 $http 调用,并从我的控制器中的成功事件填充该变量。
在模板中我有一个无序列表:
<ul>
<li ng-repeat="i in foo">{{i}}</li>
</ul>
结果是一个无序列表,其 li 元素的数量与 $scope.foo 一样多,但其内容为空:
<li ng-repeat="i in foo" class="ng-scope"></li>
<li ng-repeat="i in foo" class="ng-scope"></li>
<li ng-repeat="i in foo" class="ng-scope"></li>
.
.
.
我可以看到数组已经填充。此外,LI 元素计数与数组长度匹配(如预期),但 LI 的内容为空。
我能找到的所有用于填充无序列表的文档看起来都像这样。我之前将其从 jQuery 调用更改为 angular $http.post 调用,因为这会引起一些范围界定问题。
为什么li元素的内容是空的?
如果你做了 $scope.foo = [];然后使用 foo not range.
示例:
<li ng-repeat="i in foo" class="ng-scope">{{i}}</li>
<li ng-repeat="i in foo" class="ng-scope" ng-bind="i"></li>
已编辑以纠正我的错误,感谢提示。
我在范围内定义了一个数组:
$scope.foo = [];
然后我进行 $http 调用,并从我的控制器中的成功事件填充该变量。
在模板中我有一个无序列表:
<ul>
<li ng-repeat="i in foo">{{i}}</li>
</ul>
结果是一个无序列表,其 li 元素的数量与 $scope.foo 一样多,但其内容为空:
<li ng-repeat="i in foo" class="ng-scope"></li>
<li ng-repeat="i in foo" class="ng-scope"></li>
<li ng-repeat="i in foo" class="ng-scope"></li>
.
.
.
我可以看到数组已经填充。此外,LI 元素计数与数组长度匹配(如预期),但 LI 的内容为空。
我能找到的所有用于填充无序列表的文档看起来都像这样。我之前将其从 jQuery 调用更改为 angular $http.post 调用,因为这会引起一些范围界定问题。
为什么li元素的内容是空的?
如果你做了 $scope.foo = [];然后使用 foo not range.
示例:
<li ng-repeat="i in foo" class="ng-scope">{{i}}</li>
<li ng-repeat="i in foo" class="ng-scope" ng-bind="i"></li>
已编辑以纠正我的错误,感谢提示。