ng-show无法在我的控制器中动态添加的HTML中使用

杰巴通

请参阅相关的JSFiddle

在此代码中,我使用ng-bind-html动态添加了经过清理的HTML代码,但是在将ng-show分配给html时,它不起作用。我尝试使用$ compile,但到目前为止也没有。

我正在尝试使用ng-show隐藏和显示元素,但两者均可见。

JS:

var app = angular.module('App', ['ngSanitize'])

app.controller('MyCtrl', function($scope, $compile) {

  $scope.myHTML = [];  

  $scope.myHTML.push('<li ng-show = "visible(1)">Test1</li>');  
  $scope.myHTML.push('<li ng-show = "visible(0)>Test2</li>');  

 $scope.visible = function(arg)
 {
  if (arg == 1) return true;  
  if (arg == 0) return false;  

 }

  $compile($scope.myHTML)($scope);

});

HTML:

<div ng-app="App">
    <div ng-controller="MyCtrl">
        <ul ng-repeat="snippet in myHTML" ng-bind-html="snippet"></ul>
    </div>
</div>
迪伦·瓦特(Dylan Watt)

您的控制器几乎永远都不会意识到标记。这就是MVC的力量。您应该在一个真实的数据集上重复并在视图中建立标记。类似于以下内容,您可以items = [item1, item2]其中进行设置

<div ng-app="HelloApp">
    <div ng-controller="MyCtrl">
        <ul ng-repeat="item in items">
           <li ng-show = "test($index)">Test{{$index}}</li>
        </ul>
    </div>
</div>

如果您确实需要按照自己的方式进行操作,则应使用自定义指令,并使用angular.element将已编译的html附加到当前指令元素中。ng-bind-html不需要编译节点,而只是一个html字符串。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将ng-show与控制器配合使用

来自分类Dev

动态NG控制器名称

来自分类Dev

通过模板在控制器中使用复杂ng模型的值

来自分类Dev

无法在angularjs控制器中单击ng-click?

来自分类Dev

从其他控制器更新ng-show

来自分类Dev

我可以在指令中要求使用ng-controller设置的控制器吗?

来自分类Dev

在控制器中使用AngularFire无法从$ firebaseObject获取数据。查看/ ng-repeat效果很好

来自分类Dev

无法从包含ng的控制器访问$ parent

来自分类Dev

如何在控制器中使用ng-click变量?

来自分类Dev

无法在控制器AngularJS中获得ng-model值

来自分类Dev

如何在AngularJS中使用http调用实现多个ng控制器?

来自分类Dev

Ng表,隐藏列功能,无法手动隐藏控制器中的列

来自分类Dev

如何将对象从ng-repeat添加到控制器数组($ scope)中?

来自分类Dev

将ng-show与控制器配合使用

来自分类Dev

通过模板在控制器中使用复杂ng模型的值

来自分类Dev

用控制器值处理ng-show

来自分类Dev

无法从包含ng的控制器访问$ parent

来自分类Dev

嗨,我在样式指南定义中未在控制器中使用ng-click事件

来自分类Dev

通过ng-controller动态绑定控制器

来自分类Dev

从包含ng的HTML访问父控制器

来自分类Dev

ng-click在使用ng-bind-html的控制器内部不起作用

来自分类Dev

在嵌套的Angularjs控制器中使用ng-model

来自分类Dev

无法在控制器AngularJS中获得ng-model值

来自分类Dev

我们可以在控制器内部的ng-init中使用变量吗?

来自分类Dev

从组件中的控制器访问html中的ng-model

来自分类Dev

在控制器中无法使用ng-repeat在弹出窗口中显示内容?

来自分类Dev

使用 ng-init 将变量绑定到我的控制器中的值

来自分类Dev

无法从控制器中的输入访问 ng-model

来自分类Dev

无法在 Angular 的 ng-bind 中将数据传递到控制器中

Related 相关文章

  1. 1

    将ng-show与控制器配合使用

  2. 2

    动态NG控制器名称

  3. 3

    通过模板在控制器中使用复杂ng模型的值

  4. 4

    无法在angularjs控制器中单击ng-click?

  5. 5

    从其他控制器更新ng-show

  6. 6

    我可以在指令中要求使用ng-controller设置的控制器吗?

  7. 7

    在控制器中使用AngularFire无法从$ firebaseObject获取数据。查看/ ng-repeat效果很好

  8. 8

    无法从包含ng的控制器访问$ parent

  9. 9

    如何在控制器中使用ng-click变量?

  10. 10

    无法在控制器AngularJS中获得ng-model值

  11. 11

    如何在AngularJS中使用http调用实现多个ng控制器?

  12. 12

    Ng表,隐藏列功能,无法手动隐藏控制器中的列

  13. 13

    如何将对象从ng-repeat添加到控制器数组($ scope)中?

  14. 14

    将ng-show与控制器配合使用

  15. 15

    通过模板在控制器中使用复杂ng模型的值

  16. 16

    用控制器值处理ng-show

  17. 17

    无法从包含ng的控制器访问$ parent

  18. 18

    嗨,我在样式指南定义中未在控制器中使用ng-click事件

  19. 19

    通过ng-controller动态绑定控制器

  20. 20

    从包含ng的HTML访问父控制器

  21. 21

    ng-click在使用ng-bind-html的控制器内部不起作用

  22. 22

    在嵌套的Angularjs控制器中使用ng-model

  23. 23

    无法在控制器AngularJS中获得ng-model值

  24. 24

    我们可以在控制器内部的ng-init中使用变量吗?

  25. 25

    从组件中的控制器访问html中的ng-model

  26. 26

    在控制器中无法使用ng-repeat在弹出窗口中显示内容?

  27. 27

    使用 ng-init 将变量绑定到我的控制器中的值

  28. 28

    无法从控制器中的输入访问 ng-model

  29. 29

    无法在 Angular 的 ng-bind 中将数据传递到控制器中

热门标签

归档