0
我有一個奇怪的問題,我使用ng-click
到$state.go()
到一個狀態,並得到正確的網址,但錯誤的模板和控制器。Angular UI路由器錯誤的模板和控制器
這些都是我的狀態:
app.config(function($stateProvider, $urlRouterProvider){
$urlRouterProvider.otherwise("/messages");
$stateProvider.state('message', {
url: "/messages/:to/:fro/:messageID",
templateUrl: 'message.html',
controller: 'MessageCtrl'
}).state('compose', {
url: "/messages/compose/a/message",
templateUrl: 'compose.html',
controller: 'ComposeCtrl'
});
});
這是我的ng-click
觸發的功能,我在事實上得到控制檯日誌,所以我知道正確的是射擊。
$scope.composeMe = function(){
console.log("You want to compose a message!");
$state.go("compose");
};
當我火了該功能我得到的網址更改爲http://example.com/messages/compose/a/message
但我得到templateUrl
和message
狀態的controller
。
這是爲什麼?另一個狀態是從類似的(ng-click
派生的)函數中觸發的,並且完美地工作。
有道理,我想我認爲它的工作原理是匹配狀態而不是urls,但我現在可以看到爲什麼這是錯誤的。 –