分離スコープを使用すると、含まれている/子要素がレンダリングされないのはなぜですか。親がまだレンダリングされていないのではないかと疑って、$timeout を追加しようとしましたが、まだ運がありません。コメントアウトして分離スコープを削除すると
scope: {},
できます。スコープを分離し、含まれている要素をレンダリングする必要がある場合、それを機能させるにはどうすればよいですか。
コード: http://plnkr.co/edit/ZEwj9z?p=preview
'use strict';
var app = angular.module('Directives', []);
app.controller('MainCtrl', function ($scope) {
$scope.data = [{id:1}, {id:2}, {id:3}];
});
app.directive('test', function ($timeout) {
return {
restrict: 'A',
scope: {}, //if it is commented out, li would render
link: function (scope, elm, attrs) {
console.log('Inside link..');
}
};
});
テンプレート
<div ng-controller="MainCtrl">
<ul test>
<li ng-repeat="d in data"> {{d}} </li>
</ul>
</div>