是否与角度'ngInit`指令相反?

时间:2016-12-20 09:35:25

标签: angularjs

我有一个元素,它显示/隐藏ng-if条件。

 <div ng-if="level <= vm.receivedLevelsAmountToShow" 
      ng-init="addTimeLineComponentData(vm.item)" >
          <div>{{item.id}}</div>
 </div>

ng-if条件true - 元素创建和ng-init -starts时。 当元素消失时,有没有办法使用ng-init对面的东西? (我想在元素消失时使用一些方法) 提前谢谢。

1 个答案:

答案 0 :(得分:0)

你可以尝试这样的事吗。

<div ng-if="level <= vm.receivedLevelsAmountToShow" 
      ng-init="addTimeLineComponentData(vm.item)" >
          <div>{{item.id}}</div>
 </div>

在另一个空白div中使用相反的条件,以便forst div的ng-hide事件将是第二个div的ng-show事件。即使存在第二个div,它也没有任何内容,因此您的UI不会受到影响。

<div ng-if="level > vm.receivedLevelsAmountToShow" 
      ng-init="YourCustomAction(vm.item)" >
 </div>

或者您必须选择监视范围变量,并且需要在值更改时触发事件。

var myApp = angular.module('myApp', [])
.controller('myCtrl', function($scope, $log) {
    $scope.$watch('level', function(newValue, oldValue) {
        if (newValue > vm.receivedLevelsAmountToShow) {
            vm.YourCustomAction();
        }
    });
});