以我的HTML頁面,有三個選項卡鍵合到它每一個都具有唯一的控制器如下:有一種方法來重新加載角控制器編程
MainHTML(app.pages.managing.html):
<div id="DetailsViewContainer">
<div ng-if="selectedTab === 'tab1'">
<div ng-include="getTabUrl('tab1')" ng-controller="DetailsController"></div>
</div>
</div>
<div id="CoursesViewContainer">
<div ng-if="selectedTab === 'tab2'">
<div ng-include="getTabUrl('tab2')" ng-controller="CoursesController"></div>
</div>
</div>
<div id="UsersViewContainer">
<div ng-if="selectedTab === 'tab3'">
<div ng-include="getTabUrl('tab3')" ng-controller="UsersController"></div>
</div>
</div>
主HTML已經與父控制器保稅如下:
'use strict';
angular.module('app.pages.manage').config([
'$routeProvider',
function($routeProvider, appSettingsProvider) {
$routeProvider
.when('/:lang?/group/landing/v2/manage/',
{
templateUrl: '/js/app/pages/manage/views/app.pages.managing.html',
controller: 'mainController'
});
}
]);
我的要求是,單擊事件,我要初始化與所選擇的TA保稅控制器灣對於HTML文件中的三個綁定控制器,我沒有單獨的url配置,所以我不能使用$ location服務。我在UI路由器中探索了$ state,因爲我不想初始化可能有用的父控制器(在爲三個控制器定義三條不同的路由之後)。但我正在使用ng-route模塊,所以它不適合我。
那麼有沒有什麼辦法可以讓我的控制器在切換選項卡(不帶url)時以編程方式重新加載? 我也想通過路由而不是ng-controller來綁定這個控制器,但是我也想阻止重新加載父控制器(mainController)的狀態,然後只重新加載選定的控制器,我找不到使用ng-路線。
對於上述問題,我也嘗試使用ui-router作爲我的問題需要視圖的父子關係。但由於某種原因,它的依賴性與我的項目中的其他模塊相沖突,並且會引發錯誤。在原型UI路由器工作很好。我注意到有一種以編程方式調用控制器函數的方法,但似乎沒有任何方式在click事件上調用整個控制器。任何幫助,將不勝感激。謝謝。 –