angular-ui
我正在尝试使用tabs单击每个选项卡从不同的控制器调用不同的功能directive
。
HTML
<tabset>
<tab heading="Reports" ng-controller="ReportsController" ng-click="fetchReports()" id="tab1">
<div> Reports </div>
</tab>
<tab heading="Sales" ng-controller="SalesController" ng-click="fetchSales()" id="tab2">
<div> Sales </div>
</tab>
</tabset>
我收到这样的错误
多个指令 [ngController, tab] 要求新的/隔离的范围
要求
I have 5-6 tabs in a page. The page should not load the data of each tab at once. It should only load data for a tab once that tab is being clicked.
解决方案
我有一个解决方案来包装tabset
指令,parent controller
这样我就可以broadcast
从 中获取事件ParentController
来调用各个Child
控制器的函数。
<div ng-controller='ParentController'>
<tabset>
<tab heading="Reports" id="tab1">
<div ng-controller="ChildOneController"> Reports </div>
</tab>
<tab heading="Sales" id="tab2">
<div ng-controller="ChildTwoController"> Sales </div>
</tab>
</tabset>
</div>
问题:
但遗憾的是,我的应用程序中有太多带有标签的页面,我认为从ParentController
to为每个标签广播事件ChildController
不是一个好主意。我需要知道什么应该是一个好的解决方案?