在控制器内部,有一个函数可以向服务器发送$ http请求,当它收到响应时,就会分配该响应,比如说。 $ scope.number!
我在html页面中显示$ scope.number:
<p ng-bind="number"></p>
问题是,单位我从服务器得到响应,它在浏览器中显示“未定义”。
如何为此提供默认值?我的意思是,在响应到来之前我怎么能显示0?
更新
很抱歉,但我试图简化案例,但我认为我举了一个不好的例子。
实际上,请求获得了一个对象:$ scope.group!该对象包含学生列表。我的HTML看起来像这样:
<div ng-repeat="student in group">
<p ng-bind="student.average_progress"></p>
</div>
这显示'未定义'并将其初始化为:
$scope.group.student.average_progress = 0
没有帮助
答案 0 :(得分:3)
使用: -
<p ng-bind="number=number || 0"></p>
答案 1 :(得分:0)
我认为在$scope.number = 0
请求之前设置$http
会有效。
答案 2 :(得分:0)
在控制器中,在调用服务之前初始化变量$ scope.number = 0,并且当从服务器收到响应时,将$ scope.number的值重新分配给服务器中的值。所以在从服务器收到响应之前,该值将为零
答案 3 :(得分:0)
您可以使用ng-show =&#34; number&#34;在同一个标签上,还有ng-init =&#34; number = default&#34;
答案 4 :(得分:0)
在控制器定义中设置$scope.number = 0
。
它应该是这样的:
.controller('MyController', function() {
$scope.number = 0;
(...)
});
答案 5 :(得分:0)
在调用$ http
之前,只需将值设置为0即可$scope.number = 0