我的視圖自動重定向到默認(否則)視圖,我不知道爲什麼。當我點擊時,它從查看1到查看2然後自動重定向到默認查看3。我在視圖2角度視圖自動重定向到默認(否則)視圖
檢查通過將 console.log()
視圖1 - >視圖2 - >VIEW3
myApp.config(function ($stateProvider, $urlRouterProvider) {
$stateProvider
.state('view1', {
url: "/view1",
templateUrl: "App/Views/start/view1.html",
controller: 'MyController'
})
.state('view2', {
url: "/view2/:details",
templateUrl: "App/Views/start/view2.html",
controller: 'MyController'
});
$urlRouterProvider.otherwise('/view3');
});
我打電話來$state.go
這樣。
$state.go('view2', { details: JSON.stringify(response.details) });
我試圖通過防止在$stateChangeStart
默認攔截,但遇到了一個錯誤:達到
$摘要()迭代。中止
所解釋here這是由於$urlRouterProvider
和$stateProvider
之間的相互作用問題。但即使我成功攔截它,我也不確定這是否正確。那麼究竟是什麼造成了它?或者我怎樣才能找出導致重定向的原因。順便說一句,我已經檢查了$stateChangeError
,沒有。
myApp.controller('MyController', ['$scope', '$stateParams', '$state', function ($scope, $stateParams, $state) {
$scope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
if (toState.name == "view3" && fromState.name == "view2") {
event.preventDefault();
}
});
});
如果您發佈了顯示問題原因的「tab.congratulations」的內容,這將非常有用。 – ProLoser 2014-12-05 21:25:37
我認爲問題的原因是HTML,可以請您分享html代碼 – harishr 2014-12-06 05:49:12
我很確定,那裏不是HTML,因爲我也測試了一個空模板,它的表現方式也一樣。我嚴重懷疑它是否與路由參數有關。同樣抱歉的差異,我改變了所有的視圖名稱,在這裏通用和忘了改變一個。我已經編輯了這些差異。 – 2014-12-06 21:38:05