如何在AngularJS中有条件地应用指令?

13

我想有条件地使用ngAttr应用一个简单的指令我不明白为什么总是显示我的指令。因此,如果我有一个未定义/错误的变量,我想应用我的指令:dirr

当使用ngAttr时,将使用$ interpolateallOrNothing标志,因此,如果插值字符串中的任何表达式导致undefined,则该属性将被删除而不添加到元素中。

我的密码笔

<div ng-app="myApp" ng-controller="MainController" class="container-fluid">
    <h2 ng-bind="currentVersion"></h2>
    <hr>
    <div ng-attr-dirr="hidden || undefined">Default div</div>
</div>

angular.module('myApp',[])
 .directive('dirr', function(){
   return {
     restrict:'AE',
     template:'<div>Div from directive</div>'
   }
 })
 .controller('MainController',['$scope', function($scope){
   $scope.currentVersion = 'Angular 1.3.6';
   $scope.hidden = undefined;
 }])
; 
13

答案是正确的,并且您提供的示例代码适用于小问题,但是当在大型应用程序上解决此问题时,您可能希望采用这种方法:

更新笔

<div ng-app="myApp" ng-controller="MainController" class="container-fluid">
    <h2 ng-bind="currentVersion"></h2>
    <hr>
    <div dirr value="{{hidden}}">Default div</div>
  </div>

.directive('dirr', function($log){
  var directiveInstance =  {
    restrict:'AE',
    scope:{
      value:'@'
    },
    link: function (scope, element, attrs, ctrl) {
      if(attrs.value === 'true'){
        console.log('directive on !!');
        $log.debug('element',element);
        element[0].innerHTML = '<div>hello ' + attrs.value + '</div>';
      }
      else {
        console.log('directive off !!');
      }
    }
  }
  return directiveInstance;
})

这样比较整洁,当您遇到类似以下情况时,您可能不想在单独的div中使用ngIfngSwitch指令复制代码

<table>
  <thead dirr value="{{statement}}">
    <tr>
     <th>
        CrazyStuffHere...
     </th>
     <th>
        CrazyStuffHere...
     </th>
     ....
    </tr>
  </thead>
</table>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在angularJS指令中有条件地应用属性?

来自分类Dev

如何在angularJS指令中有条件地应用属性?

来自分类Dev

如何在有条件的js中有条件地应用标题

来自分类Dev

如何在angularjs中有条件地应用css类

来自分类Dev

在AngularJS应用中有条件地注入模块

来自分类Dev

如何在Angular中有条件地渲染?

来自分类Dev

如何在Excel中有条件地匹配

来自分类Dev

如何在Excel中有条件地VLOOKUP?

来自分类Dev

如何在AngularJS模板中有条件地显示跨度?

来自分类Dev

如何在AngularJS中有条件地设置所选属性

来自分类Dev

如何在React中有条件地将布局应用于组件

来自分类Dev

如何在Ember中有条件地应用CSS类?

来自分类Dev

如何在Rails中有条件地应用验证?

来自分类Dev

AngularJS:如何有条件地应用视图动画?

来自分类Dev

在MongoDB中有条件地应用和条件

来自分类Dev

AngularJS在应用页面上的导航栏中有条件地显示登录/注销按钮

来自分类Dev

在 AngularJS 的 ng-repeat 中有条件地应用 CSS 样式

来自分类Dev

在AngularJS中有条件地调用函数

来自分类Dev

在AngularJS中有条件地绑定数据

来自分类Dev

在AngularJS中有条件地调用函数

来自分类Dev

在SQL Server中有条件地应用联接

来自分类Dev

在PyTorch中有条件地应用张量操作

来自分类Dev

AngularJs有条件地将自定义指令应用于HTML

来自分类Dev

AngularJS-有条件地使用属性指令

来自分类Dev

AngularJS有条件地添加指令

来自分类Dev

如何在useEffect中更新状态的条件组件中有条件地渲染?

来自分类Dev

如何使用AngularJS在HTML文件中有条件地插入字符串?

来自分类Dev

在Scala中有条件地应用功能-如何编写此功能?

来自分类Dev

如何在R中的数据框中有条件地选择列

Related 相关文章

  1. 1

    如何在angularJS指令中有条件地应用属性?

  2. 2

    如何在angularJS指令中有条件地应用属性?

  3. 3

    如何在有条件的js中有条件地应用标题

  4. 4

    如何在angularjs中有条件地应用css类

  5. 5

    在AngularJS应用中有条件地注入模块

  6. 6

    如何在Angular中有条件地渲染?

  7. 7

    如何在Excel中有条件地匹配

  8. 8

    如何在Excel中有条件地VLOOKUP?

  9. 9

    如何在AngularJS模板中有条件地显示跨度?

  10. 10

    如何在AngularJS中有条件地设置所选属性

  11. 11

    如何在React中有条件地将布局应用于组件

  12. 12

    如何在Ember中有条件地应用CSS类?

  13. 13

    如何在Rails中有条件地应用验证?

  14. 14

    AngularJS:如何有条件地应用视图动画?

  15. 15

    在MongoDB中有条件地应用和条件

  16. 16

    AngularJS在应用页面上的导航栏中有条件地显示登录/注销按钮

  17. 17

    在 AngularJS 的 ng-repeat 中有条件地应用 CSS 样式

  18. 18

    在AngularJS中有条件地调用函数

  19. 19

    在AngularJS中有条件地绑定数据

  20. 20

    在AngularJS中有条件地调用函数

  21. 21

    在SQL Server中有条件地应用联接

  22. 22

    在PyTorch中有条件地应用张量操作

  23. 23

    AngularJs有条件地将自定义指令应用于HTML

  24. 24

    AngularJS-有条件地使用属性指令

  25. 25

    AngularJS有条件地添加指令

  26. 26

    如何在useEffect中更新状态的条件组件中有条件地渲染?

  27. 27

    如何使用AngularJS在HTML文件中有条件地插入字符串?

  28. 28

    在Scala中有条件地应用功能-如何编写此功能?

  29. 29

    如何在R中的数据框中有条件地选择列

热门标签

归档