我在angularJS中使用jquery选项卡,并使用ng-重复生成列表项和选项卡容器。选项卡正在工作,但选项卡容器不能正常工作。
模板- tabs.html
<ul ng-sortable="pages">
<li ng-controller="pageCtrl" ng-repeat="page in pages">
<a class="pageName" href="#{{page.id}}">{{page.name}}</a>
</li>
</ul>
<div id="{{page.id}}" ng-repeat="page in pages">
<p>{{page.id}}</p>
</div>指令
.directive('ngTabs', function($rootScope) {
return {
restrict: 'E',
templateUrl: "js/templates/tabs.html",
link: function(scope, elm) {
elm.tabs();
}
};
})jsfiddle链接:http://jsfiddle.net/sannitesh/NLw6y/
发布于 2012-11-23 13:23:31
问题是,当执行ngTabs指令时,还没有生成该div的内容。将对.tabs()的调用包装在一个setTimeout中就可以做到这一点。
myApp.directive('ngTabs', function() {
return function(scope, elm) {
setTimeout(function() {
elm.tabs();
},0);
};
});见jsFiddle。这可能不是最好的方法[角度的方式]。
您可以查看编译服务,特别是当实际选项卡在运行时发生更改时。
https://stackoverflow.com/questions/11996773
复制相似问题