javascript - AngularJS:指令重复,作为属性而不是元素

标签 javascript angularjs angularjs-directive angularjs-ng-repeat

如果我将相同的指令写两次作为属性,我得到两倍的结果,但是当我将它作为元素写两次时,我只得到一次结果,为什么?

我有一个非常简单的指令:

.directive("ngMyText", function(){
    return {
        restrict: 'AE'
      };
})

一个包含项目集合的$scope:

$scope.items = [
    { text:"AAA", show:true },
    { text:"BBB", show:true }
];

因此,在这样做的时候:

<div ng-controller="myController">
    <div class="container">
        <div data-ng-my-text ng-repeat="item in items | filter:{show:true}" ng-bind="item.text"></div>
        <div data-ng-my-text ng-repeat="item in items | filter:{show:true}" ng-bind="item.text"></div>
    </div>

    <div class="container">
        <ng-my-text ng-repeat="item in items | filter:{show:true}" ng-bind="item.text" />
        <ng-my-text ng-repeat="item in items | filter:{show:true}" ng-bind="item.text" />
    </div>
</div>

我希望让集合在每个容器中呈现两次,但在第二个容器中只发生一次。为什么会这样?

我创建了一个带有问题的可运行示例:http://jsfiddle.net/vtortola/mzAPk/

干杯。

最佳答案

参见 Are (non-void) self-closing tags valid in HTML5?这个

<ng-my-text ng-repeat="item in items | filter:{show:true}" 
ng-bind="item.text" />

应该是

<ng-my-text ng-repeat="item in items | filter:{show:true}" 
ng-bind="item.text"></ng-my-text>

关于javascript - AngularJS:指令重复,作为属性而不是元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24682500/

相关文章:

javascript - 触发单击单选按钮并记住页面刷新时的选择

javascript - 根据另一个数组中较新的对象更新数组

javascript - 替换指令内的值而不替换整个指令

javascript - 如何在 Angular 上设置使用名称、型号或 ID 聚焦的输入字段?

javascript - 指令传递的值为空,异步数据加载仅在第二次单击后起作用

javascript - 无法配置react-router在plunker上运行

javascript - 用链接切换文本

javascript - AngularJS:仅触发 $watch 元素值发生变化

javascript - AngularJS : How do access parent controller's scope item from the child directive?

angularjs - 如何使用 Twitter typehead.js 和 Angular 编译功能?