javascript - 在 View 更改时重新计算 Angular 指令?

标签 javascript html css angularjs

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

最佳答案

如果您将数据传递给指令,可能会起作用

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>

关于javascript - 在 View 更改时重新计算 Angular 指令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34121696/

相关文章:

javascript - 查找 ng-repeat 生成的列数

html - 如何使表格行/单元格具有相同的固定高度而没有内部 div?

html - 本地开发时在CSS中选择字体的特定样式

javascript - style 属性覆盖了用 jquery 分配的 css 属性

css - wordpress css 图像 背景图像

javascript - 是否可以使用 javascript 以字节数组形式获取 PDF 形式的网站打印版本

javascript - 从 Javascript 中的 sql/csv 文件在内存中创建数据库

javascript - 如何在 MEAN 堆栈中设置 HTTP header 键/值对

javascript - 如何在 dom 中隐藏元素的所有子元素(孙元素)

javascript - 添加或删除文本框,然后使用 PHP 或 Jquery 获取其值