0
ng-click
〜$state.go()
を状態に使用し、正しいURLを取得して間違ったテンプレートとコントローラーを取得するという奇妙な問題があります。角度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
によってトリガ関数であり、私はので、私は右の1が発射される知っているコンソールログを取得し、実際にしています。
$scope.composeMe = function(){
console.log("You want to compose a message!");
$state.go("compose");
};
私はURLはhttp://example.com/messages/compose/a/message
に変更し得るが、私はtemplateUrl
とmessage
状態のcontroller
を取得し、その関数を発射。
なぜですか?他の状態は同様の関数(ng-click
由来)から起動され、完全に機能します。
意味がありますが、私はそれがURLではない状態と一致していると思っていましたが、なぜそれが間違っているのかを見ることができます。 –