我對離子和javascript完全陌生,當我在項目中更改視圖時遇到了一些問題。
我已經使用選項卡啓動器創建了項目,並且在使用默認選項卡移動時甚至在添加新選項卡時都可以使用。在代碼的某個部分,我需要移動到一個標籤視圖,所以我使用$ state.go()函數,它工作正常。但是,我添加了一個新的視圖,其模板,控制器和狀態,我需要在點擊按鈕時加載它。因此,我再次使用$ state.go(),但瀏覽器中的URL更改,但不是視圖,它保留在前一箇中。當我在瀏覽器中輸入URL時,它不起作用,所以問題可能出現在狀態定義中,但我確定它沒問題。
國家
.state('tab.file_explorer', {
url: '/file_explorer',
views: {
'tab-file_explorer': {
templateUrl: 'templates/tab-file_explorer.html',
controller: 'file_explorerCtrl'
}
}
})
控制器
它是在該按鈕位於其它視圖控制器(按鈕做工精細,我測試過它)。 file_explorerCtrl控制器此刻爲空。
.controller('load_csvCtrl', function($scope, $state) {
$scope.loadCsv = function(){
$state.go('tab.file_explorer');
}
}
這reddirect到URL http://localhost:8100/#/tab/file_explorer,沒有控制檯輸出或404錯誤。我也嘗試使用$ location.path()和$ window.location.assign(),但它也無法加載模板。
我很感激任何幫助。
添加的console.log( '內loadcsv')$ scope.loadCsv內部檢查,如果其解僱。如果你認爲它可能會失敗,那麼你可以跟蹤其他部分的代碼。 – flakerimi
@Flakerim是的,$ scope.loadCsv被激發。 –
@RaiKaiShagtten你解決了這個問題嗎?我有同樣的問題。 – benevolentprof