Javascript 指令未在Angular 1.5组件模板中更新

Javascript 指令未在Angular 1.5组件模板中更新,javascript,angularjs,Javascript,Angularjs,在下面的代码中,{{}中的任何内容都将更新,但是像ng show和ng class这样的指令在更新对象时不会重新运行。我假设,在编译模板时,它们将运行一次 <div> <div ng-repeat="object in $ctrl.objects" > <div> {{ $ctrl.showStatus(object.property) }} </div> <div>

在下面的代码中,
{{}
中的任何内容都将更新,但是像
ng show
ng class
这样的指令在更新
对象时不会重新运行。我假设,在编译模板时,它们将运行一次

<div>
  <div
    ng-repeat="object in $ctrl.objects"
    >
    <div>
      {{ $ctrl.showStatus(object.property) }}
    </div>

    <div>
      {{ $ctrl.getClassName(object.property) }}
    </div>

    <div
      ng-show="$ctrl.showStatus(object.property)"
      ng-class="$ctrl.getClassName(object.property)">
      {{ object.name }} - {{ object.property }}
    </div>
  </div>
</div>


mod.component('pane', {
    bindings: {
        objects: '='
    },
    controller: function ($scope, $element, $attrs, service) {
        this.getClassName = function (property) {
            return 'status-'+property.state.name()+'-state';
        };

        this.showStatus = function (property) {
            return property.state !== service.AlarmStates.OK;
        };

    },
    templateUrl: "/templates/panes/alert.html"
});

{{$ctrl.showStatus(object.property)}
{{$ctrl.getClassName(object.property)}
{{object.name}-{{object.property}
模块组件('窗格'{
绑定:{
对象:'='
},
控制器:函数($scope、$element、$attrs、service){
this.getClassName=函数(属性){
返回'status-'+property.state.name()+'-state';
};
this.showStatus=函数(属性){
返回property.state!==service.AlarmStates.OK;
};
},
templateUrl:“/templates/panes/alert.html”
});