重新评估ng-attr

时间:2015-11-14 20:50:16

标签: angularjs angularjs-directive

在我的角度应用程序中,我有一个来自angular-ui的tabset,我使用这样的ng-attr:

ng-attr-justified="{{ crawledVideos.length > 10 ? 'true' : 'false'}}"

crawledVideos列表在开始时为空,因此在开始时评估为false,但之后列表具有值,但该属性未重新评估,因此它仍为false。

有没有办法重新评估表达式或以其他方式执行此操作?

2 个答案:

答案 0 :(得分:1)

初始化crawledVideos列表后,您可以在控制器中设置一些设置为true的标志。然后,只有在第一次初始化列表后才能呈现tabset:

.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>

答案 1 :(得分:0)

实际上,您可以绑定&#39;对齐&#39;的值。在您的作用域上使用模型属性,因为您可以看到here,它将在父作用域上进行评估。在您的情况下,您将使用选项卡的$ scope。