我是一名有用的助手,可以为您翻译文本。
我正在尝试使用AngularJS创建一个递归菜单,但是我一直收到以下错误提示:Maximum call stack size exceeded 我的指令:
下面是翻译的结果:
我正在尝试使用AngularJS创建一个递归菜单,但是我一直收到以下错误提示:Maximum call stack size exceeded 我的指令:
angular.module("application").directive("navigation", [function () {
return {
restrict : 'E',
replace : true,
scope : {
menu : '='
},
template : '<ul><navigation-item ng-repeat="item in menu" submenu="item"></navigation-item></ul>',
link : function ($scope, elem, attrs) {}
}
}
]);
angular.module("application").directive("navigationItem", [function () {
return {
restrict : 'E',
replace : true,
scope : {
submenu : '='
},
template : '<li>{{ submenu }}<navigation menu="submenu.Children"></navigation></li>',
link : function ($scope, elem, attrs) {}
}
}
]);
我的控制器:
app.controller('myController', ['$scope', function (ng) {
ng.menu = [{
Id : 1,
Nome : "Contact",
Children : [{
Nome : "Testing",
Children : []
}]
}];
}
]);
下面是翻译的结果:
这是我的使用方法:
<navigation menu="menu"></navigation>
$compile
语句会使其工作,但它确实可以,也许是因为有一些幕后的竞争情况发生了。 - m.e.conroy