0
我正在使用角$stateProvider
允許路由通過我的應用程序。我有一個index.html
,我更改HTML內容的內部使用以下...
app.config(function($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('/app');
$stateProvider
.state('app', {
url: '/app',
templateUrl: 'templates/menu.html',
controller: 'AppCtrl'
})
.state('app.accounts', {
url: '/accounts',
templateUrl: 'templates/accounts.html'
})
});
第一條路線的作品,當你打開應用程序template/menu.html
在裏面放index.html
。當我嘗試更改狀態時會出現問題。
目前,我實現我的應用程序的API,該API做什麼是無關緊要的,但成功我想API將狀態更改爲app.accounts
,見下文......
app.controller('AppCtrl', function($scope, $ionicModal, $timeout) {
$scope.create = function() {
var linkHandler = Plaid.create({
env: 'tartan',
clientName: 'Example Project',
key: 'test_key',
product: 'connect',
//On success I want to change the state
onSuccess: function(token) {
window.location = '/app/accounts';
},
});
linkHandler.open();
}
});
上述操作成功,我試圖改變狀態,但是當window.location
被調用時,我得到的錯誤...
net::ERR_FILE_NOT_FOUND (file:///app/accounts)
我不知道爲什麼我得到這個錯誤,因爲第一個路由工作正常。任何想法如何我可以解決這個問題?
行,所以我做了'HREF =「#/應用/賬戶」'和錯誤走了,但它會將我重定向到「應用程序」狀態(原始狀態)。你知道爲什麼嗎? – Bolboa
可能是路由有問題,並且它正在進入路由定義的.otherwise()方法 – MarBVI
但是,如果您使用的是$ stateProvider,則重定向的最佳方法是使用$ state.go('app.accounts ') – MarBVI