Angularjs 重新评估ng属性
在angular应用程序中,我有一个angular ui中的选项卡集,我使用ng attr如下:Angularjs 重新评估ng属性,angularjs,angularjs-directive,Angularjs,Angularjs Directive,在angular应用程序中,我有一个angular ui中的选项卡集,我使用ng attr如下: ng-attr-justified="{{ crawledVideos.length > 10 ? 'true' : 'false'}}" crawledVideos列表在开始时为空,因此它在开始时计算为false,但之后该列表有值,但属性没有重新计算,因此仍然为false 是否有任何方法可以重新计算表达式或以任何其他方式执行此操作?您可以在控制器中设置一些标志,一旦初始化crawldvid
ng-attr-justified="{{ crawledVideos.length > 10 ? 'true' : 'false'}}"
crawledVideos列表在开始时为空,因此它在开始时计算为false,但之后该列表有值,但属性没有重新计算,因此仍然为false
是否有任何方法可以重新计算表达式或以任何其他方式执行此操作?您可以在控制器中设置一些标志,一旦初始化
crawldvideos
列表,您可以将这些标志设置为true。然后,您只能在列表第一次初始化后渲染选项卡集:
.controller('YourCtrl', function ($scope) {
$scope.crawledVideosInitialized = false;
// ... initialize $scope.crawledVideos ....
$scope.crawledVideosInitialized = true;
});
然后,在您的视图中,将ngIf
添加到选项卡集中:
<uib-tabset ng-if="crawledVideosInitialized" ng-attr-justified="{{ crawledVideos.length > 10 ? 'true' : 'false'}}">
......
</uib-tabset>
......
实际上,您可以将“justified”属性的值与作用域上的模型绑定,因为您可以看到,它是在父作用域上进行计算的。在您的情况下,这将是您使用选项卡的$scope。谢谢,我没有想到这种方法。