用于访问子对象的ng重复作用域的AngularJS指令
好的,让我开始说,我有一个指令,它创建了一个JQueryUI选项卡设置,带有一个填充选项卡名称和选项卡内容的支持字段用于访问子对象的ng重复作用域的AngularJS指令,angularjs,angularjs-directive,angularjs-ng-repeat,Angularjs,Angularjs Directive,Angularjs Ng Repeat,好的,让我开始说,我有一个指令,它创建了一个JQueryUI选项卡设置,带有一个填充选项卡名称和选项卡内容的支持字段 <div id="summaryTabPanel"> <ul> <li ng-repeat="category in SummaryCategories"> <a href="#tabs-{{$index + 1}}">{{category.Name}}</a>
<div id="summaryTabPanel">
<ul>
<li ng-repeat="category in SummaryCategories">
<a href="#tabs-{{$index + 1}}">{{category.Name}}</a>
</li>
</ul>
<div ng-repeat="category in SummaryCategories" id="tabs-{{$index + 1}}">
{{category.Content}}
</div>
</div>
这将监视是否找到最后一个重复项,然后通过语句$(“#summaryTabPanel”).tabs()应用DOM更改
这一切都很好,但只有当我将指令应用于summaryTabPanel
容器的最后一个ng重复子项时,它才起作用
<div id="summaryTabPanel">
<ul>
<li ng-repeat="category in SummaryCategories">
<a href="#tabs-{{$index + 1}}">{{category.Name}}</a>
</li>
</ul>
<div ng-repeat="category in SummaryCategories" id="tabs-{{$index + 1}}" repeat-done>
{{category.Content}}
</div>
</div>
-
{{category.Content}
如果我把它移到前一个ng重复项,事情会工作,但不太正确。如果我把它移到父容器中,事情就根本不起作用了
在我看来,将这个指令应用于最后一个孩子是错误的,相反,我有办法将它应用于根并以某种方式完成同样的事情
<div id="summaryTabPanel" repeat-done>
用Angular可以吗?根据这一点,您应该像这样编写指令
Application.Directives.directive("repeatDone", function () {
return {
restrict: "A",
link: function (scope, element, attrs) {
$timeout( function () {
$("#summaryTabPanel").tabs({
event: "mouseover"
});
});
}
});
请看一下我为说明您的情况而创建的示例
Application.Directives.directive("repeatDone", function () {
return {
restrict: "A",
link: function (scope, element, attrs) {
$timeout( function () {
$("#summaryTabPanel").tabs({
event: "mouseover"
});
});
}
});