在自定义replace指令上使用ng-show不会显示或隐藏

托德

我在让ng-show(或ng-hide)在自定义指令上工作时遇到问题。它在普通的HTML元素上工作得很好。

我组成了一个非常简单的示例来说明问题:

<div ng-app="appMod">
  <div ng-controller="Ctrl3">
      <button>First</button>
      <button ng-hide="NoSecond">Second</button>

      <mybutton ng-hide="NoSecond" label="My button"/>
  </div>
</div>  

和JS:

function Ctrl3($scope) {
    $scope.NoSecond = true;
};

var appmod = angular.module('appMod', []);

appmod.directive("mybutton", function() {
    return {
        restrict: "E",
        template: "<div style='border: 1px solid black;'><button>{{label}}</button></div>",
        scope: {label:'@'}
    };
});

最终结果是html按钮“ Second”被隐藏,而“ mybutton”未被隐藏。http://jsfiddle.net/fotoguy42/4j7td/2/

如何使ng-hide / show在我的小部件上起作用?

城市浣熊

好的,所以这实际上是ng-hide不适用于自定义指令的重复项

因为要在指令中创建新作用域,所以必须将变量noSecond传递给指令并将其包括在新作用域中。

另外-您应该为自己的JavaScript真正使用camelCase:

JS:

function Ctrl3($scope) {
  $scope.noSecond = true;
};

var appmod = angular.module('appMod', []);

appmod.directive("mybutton", function() {
    return {
        restrict: "E",
        template: "<div style='border: 1px solid black;'><button>{{label}}</button></div>",
        scope: {label:'@', noSecond: '='}
    };
});

HTML:

<div ng-app="appMod">
  <div ng-controller="Ctrl3">
      <button>First</button>
      <button ng-hide="noSecond">Second</button>

      <mybutton ng-hide="noSecond" label="My button" no-second="noSecond"/>
  </div>
</div>    

似乎确实在角度1.2.1中进行了更改,尽管我似乎无法在迁移指南中找到可能导致此问题的更改...。

https://docs.angularjs.org/guide/migration

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

来自分类Dev

使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

来自分类Dev

ng-messages不会显示在自定义指令中

来自分类Dev

ng-class不会在自定义指令上触发

来自分类Dev

使用自定义指令使用ng-repeat显示2个不同的表

来自分类Dev

角度自定义指令不会触发ng-click

来自分类Dev

测试自定义的角度指令是否显示/隐藏元素

来自分类Dev

具有隔离范围的角度自定义指令不会触发ng-click函数

来自分类Dev

ng-show不适用于自定义指令

来自分类Dev

角度自定义指令ng-show 2向绑定不起作用

来自分类Dev

自定义指令未显示

来自分类Dev

ngAnimate-动画不会在重复的自定义指令上触发

来自分类Dev

Django allauth-使用自定义表单验证错误不会显示在模板上

来自分类Dev

AngularJS-隐藏表格模板,直到使用自定义指令提交表单

来自分类Dev

使用 Highcharts 在 x 轴上显示自定义值

来自分类Dev

Android:-使用自定义ListView不会显示内容

来自分类Dev

隐藏的文件不会显示在全新的用户帐户上吗?

来自分类Dev

带有隐藏功能的AngularJS自定义指令

来自分类Dev

隐藏了自定义指令,但代码仍在运行

来自分类Dev

自定义指令已隐藏,但代码仍在运行

来自分类Dev

角度自定义指令JQuery动画不会移动元素

来自分类Dev

仅使用Javascript隐藏/显示元素,而不会弄乱DOM

来自分类Dev

ng-if或ng-show隐藏和显示DIV?

来自分类Dev

ng-if或ng-show隐藏和显示DIV?

来自分类Dev

自定义样式的RatingBar不会显示

来自分类Dev

自定义指令显示其自身的错误

来自分类Dev

如何在ui视图中显示自定义指令?

来自分类Dev

如何在ui视图中显示自定义指令?

来自分类Dev

显示时ng-show的AngularJs动画比隐藏更快速

Related 相关文章

  1. 1

    使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

  2. 2

    使用自定义指令,ng-show和$ scope在Angularjs中隐藏/显示元素

  3. 3

    ng-messages不会显示在自定义指令中

  4. 4

    ng-class不会在自定义指令上触发

  5. 5

    使用自定义指令使用ng-repeat显示2个不同的表

  6. 6

    角度自定义指令不会触发ng-click

  7. 7

    测试自定义的角度指令是否显示/隐藏元素

  8. 8

    具有隔离范围的角度自定义指令不会触发ng-click函数

  9. 9

    ng-show不适用于自定义指令

  10. 10

    角度自定义指令ng-show 2向绑定不起作用

  11. 11

    自定义指令未显示

  12. 12

    ngAnimate-动画不会在重复的自定义指令上触发

  13. 13

    Django allauth-使用自定义表单验证错误不会显示在模板上

  14. 14

    AngularJS-隐藏表格模板,直到使用自定义指令提交表单

  15. 15

    使用 Highcharts 在 x 轴上显示自定义值

  16. 16

    Android:-使用自定义ListView不会显示内容

  17. 17

    隐藏的文件不会显示在全新的用户帐户上吗?

  18. 18

    带有隐藏功能的AngularJS自定义指令

  19. 19

    隐藏了自定义指令,但代码仍在运行

  20. 20

    自定义指令已隐藏,但代码仍在运行

  21. 21

    角度自定义指令JQuery动画不会移动元素

  22. 22

    仅使用Javascript隐藏/显示元素,而不会弄乱DOM

  23. 23

    ng-if或ng-show隐藏和显示DIV?

  24. 24

    ng-if或ng-show隐藏和显示DIV?

  25. 25

    自定义样式的RatingBar不会显示

  26. 26

    自定义指令显示其自身的错误

  27. 27

    如何在ui视图中显示自定义指令?

  28. 28

    如何在ui视图中显示自定义指令?

  29. 29

    显示时ng-show的AngularJs动画比隐藏更快速

热门标签

归档