2015-12-28 32 views
1

我有一個從鏈接加載數據的webview模板。所以,如果我必須加載一個單獨的webview,我使用相同的模板和控制器並更改鏈接。它適用於大多數情況。但是,如果我嘗試從當前的webview加載不同的web視圖,它不起作用。原因是當我們加載相同的視圖時,控制器不再被觸發。我嘗試導航不同的頁面,然後移動到webview模板,但結果是相同的控制器沒有初始化。我怎樣才能觸發控制器或讓控制器重新加載?在離子中重新加載控制器

我試着將全局緩存設置爲false,並將reload設置爲true,但它仍然不會重新加載控制器。 這裏是我的代碼看起來

.state('webView', { 
      url: '/webView', 
      cache: false, 
      templateUrl: 'templates/webView.html', 
      controller: 'WebViewCtrl', 
      reload: true 
     }); 

我還設置

$ionicConfigProvider.views.maxCache(0); 

然而,我的控制器仍然拒絕重新加載。對缺少什麼有什麼想法?

+0

你嘗試過'init()'方法嗎? – SakthiSureshAnand

+0

我不確定我明白你的意思。我沒有使用init()方法。你能否更詳細地解釋你所暗示的是什麼? – jsdev

+0

http://stackoverflow.com/questions/15458609/execute-function-on-page-load(請看這個鏈接) – SakthiSureshAnand

回答

0

最後結束了使用此鏈接中提到的狀態轉換 - https://github.com/angular-ui/ui-router/issues/582

$state.transitionTo($state.current, $stateParams, { reload: true, inherit: false, notify: true }); 

這對我來說並且重新加載我的視圖和控制器。