ディレクティブ テンプレートに ng-show または ng-init と ng-transclude が含まれている場合は常に、次の JavaScript エラーが発生します: TypeError: undefined is not a function
指令
app.directive('test', function () {
return {
//works
template: '<div><div ><ul><li ng-repeat="item in items"><div ng-transclude></div></li></ul></div></div>',
//does not work -- ucomment
//template: '<div><div ng-show="true"><ul><li ng-repeat="item in items"><div ng-transclude></div></li></ul></div></div>',
transclude:true,
link: function (scope, element, attrs) {
}
}
});
使用法
<div test>
<div>{{item.id}}</div>
</div>
なぜこれが起こっているのか、それに対する修正は何ですか?
問題のプランカーはここにあります。
実際の動作を確認するには、機能しているテンプレートと機能していないテンプレートのコメントを切り替えます