簡體   English   中英

在具有隔離范圍的指令中使用ng-repeat

[英]Using ng-repeat in directive with isolated scope

具有隔離范圍的指令內的ng-repeat不會拾取通過'='綁定傳遞的屬性。

HTML:

<body ng-controller="myCtrl">
    <div my-directive list="users">
        <ul>
            <li ng-repeat="item in list">
                {{item.name}}
            </li>
        </ul>
    </div>
</body>

JS:

var app = angular.module('myApp', []);

app.controller('myCtrl', function ($scope) {
    $scope.users = [
        { name: 'John Doe'},
        { name: 'Jane Doe' },
        { name: 'Jesse Doe' }
    ];
});

app.directive('myDirective', [function() {
    return {
        restrict: 'A',
        scope: {
            list: '='
        },
        link: function(scope, element, attrs) {

        }
    }
}]);

上面的代碼在angular 1.0.8下工作正常: http : //jsfiddle.net/shazmoh/4DN39/7/

但不適用於有角1.2.14: http//jsfiddle.net/shazmoh/4DN39/6/

我缺少的'1.2.x'發生了什么變化?

遷移到1.2指南

隔離僅暴露於具有范圍屬性的指令的范圍
沒有隔離范圍的指令不會從同一元素上的隔離指令獲得隔離范圍。 如果您的代碼依賴於此行為(非isolate指令需要從isolate范圍內訪問狀態),請更改isolate指令以使用范圍局部變量來顯式傳遞這些行為。

因此,對於> 1.2.0,隔離的指令是完全隔離的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM