重新计算视角变化的角度指令?

时间:2015-12-06 19:31:14

标签: javascript html css angularjs

我有一个div,其元素依赖于ng-class来设置一些样式属性(它调用一个返回一串类的函数)。通常当修改div中的某些内容时,Angular会为我重新计算所有ng-class个变量。但是,我在这个div外面有一个按钮,它只是添加一个类来改变它的宽度;当发生这种情况时,Angular不会重新计算ng-class函数。只有在我在div内部做了一些动作之后才能为我计算一切。有没有什么办法可以在按下这个外部按钮后强制Angular重新计算?

1 个答案:

答案 0 :(得分:0)

如果将数据传递给指令

,可能会有效

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
    
  
  
})
.directive('testDirective', function() {
  return {
    restrict: 'E',
    scope: {
      classData: '='
    },
    template: '<div ng-class="classData"> My directive </div>'
  };
});
.blue {
background: blue;
}
.green {
background: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="myApp" ng-controller="myCtrl">

  <test-directive class-data="myClass"></test-directive>
  
  <input type="text" ng-model="myClass" />(green or blue)

</div>