javascript - AngularJS 指令在元素具有绑定(bind)值的地方不起作用

标签 javascript angularjs

我有一个指令来显示/隐藏基于某物的元素。但它在元素绑定(bind)到某个值的情况下不起作用。我希望我的指令在这种情况下仍然有效。

angular.module("app", [])

.controller('ctrl', function ($scope){
  $scope.color = "red";
})


.directive('xred', function() {
  return {
    link: function(scope, element, attrs) {
      var role = 0;
      if (role === 0) element.css('display', 'none');
    }
  };
  
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app" ng-controller="ctrl">
  
  <!-- where I hard code 'blue', xred directive is working-->
  <span xred style="color: blue"> Blue (should hide) </span>
  
  <!-- where I bind color, xred directive is not working.-->
  <span xred style="color: {{color}}"> Red (should hide) </span>
  
</div>

最佳答案

不确定我理解你的问题,但使用 ngStyle它似乎有效:

angular.module("app", [])

.controller('ctrl', function ($scope){
  $scope.color = "red";
})


.directive('xred', function() {
  return {
    link: function(scope, element, attrs) {
      var role = 0;
      if (role === 0) element.css('display', 'none');
    }
  };
  
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="app" ng-controller="ctrl">
  
  <!-- where I hard code 'blue', xred directive is working-->
  <span xred style="color: blue"> Blue (should hide) </span>
  
  <!-- where I bind color, xred directive is not working.-->
  <span xred ng-style="{color: color}"> Red (should hide) </span>
  
</div>

关于javascript - AngularJS 指令在元素具有绑定(bind)值的地方不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35390551/

相关文章:

javascript - List.js 在 Chrome 中无法正确排序

javascript - 类型错误 : react__WEBPACK_IMPORTED_MODULE_1___default is not a function or its return value is not iterable

javascript - Div 在页面加载时自动滚动 - Wordpress

javascript - 具体来说,在哪些 JS 引擎中,toLowerCase 和 toUpperCase 区域设置敏感?

html - 关闭 Webstorm 突出显示

javascript - AngularJS - 无用的绑定(bind)

javascript - 共享前端和后端的类型定义

javascript - 如何使用多个日期时间列对 javascript 数组进行排序

javascript - Angular .js : How to add userinput for price and keep subtotal

angularjs在输入时将焦点移动到下一个控件