正如标题所示,我在ng-view中使用父自定义指令(定义控制器)得到此错误,该指令用包含子自定义指令(需要父控制器)和ng-的模板替换内容重复。
我创建了a simple plunker来说明我的问题:
主要模板:
<div class="ng-view">
<div data-my-parent></div>
</div>
路线:
$routeProvider.when( '/', {
template: '<span>View loaded.</span>',
controller: [ '$scope', function( $scope ) {
$scope.items = [ 'item1', 'item2' ];}]});
父指令:
.directive( 'myParent', function() {
return {
replace: true,
template: '<ul><li data-my-child data-ng-repeat = "item in items"></li></ul>',
controller: [ '$scope', '$element', '$attrs', function( $scope, $element, $attrs ){}]};})
儿童指令:
.directive( 'myChild', function() {
return {
require: '^myParent',
link: function( scope, element, attrs, controller ) {}};})
基本上,我认为它必须处理临时转录系统(对于ng-repeat),但我不确切地知道它是否是错误的编码或错误。摆脱这个错误的最佳方法是什么?需要可选的控制器&#39;?&#39; ?
答案 0 :(得分:2)
ngView
的内容将替换为路线的模板,因此您的<div data-my-parent></div>
会丢失。