首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Angular不更新ng-show

Angular不更新ng-show
EN

Stack Overflow用户
提问于 2018-08-28 07:42:53
回答 1查看 290关注 0票数 0

我有一个表,其中的数据表示大约每10秒更新一次,由“当前”列表表示。正如您在下面的代码片段中看到的,两个ng-show依赖于对象的状态值。我知道列表正在用新值更新,所以第二个ng-show应该显示,而不是第一个,但它只在我刷新页面时更新,而不是自动更新。当对象的Status字段的值发生变化时,ng-show不应该自动更新吗?

代码语言:javascript
复制
    <table>
        <tr ng-repeat="object in current">
            <td>Name: {{object.Name}} <br /> Status: {{object.StatusMessage}}<br /> ID: {{object.ID}} <br /> User: {{object.UserName}}</td>
            <td>
                <div ng-show="object.Status == 2 || object.Status == 3">
                    <img ng-src="{{getScreenshot(object.Name)}}" style="width: 500px; height: 300px">
                </div>
                <div ng-show="object.Status < 2 || object.Status > 3" style="font-size: large; font-weight: bold">
                    Screenshot not available.
                </div>
            </td>
        </tr>
    </table>
EN

回答 1

Stack Overflow用户

发布于 2018-08-29 13:59:51

您可以应用AngularJS $digest()函数。

有关$digest()函数的更多信息,请访问AngularJS $watch() , $digest() and $apply()

您需要修改您的控制器代码,如下所示:

代码语言:javascript
复制
var app = angular.module('test', []);

app.controller('TestCtrl', function ($scope) {
   $scope.testValue = 0;

setInterval(function() {
    console.log($scope.testValue++);
    $scope.$apply() 
    }, 500);
});

Jsfiddle:Link

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52048255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档