angular ui router / stateProviderを使用しています。ただし、2番目のスラッシュが無視された後、URLの任意の部分を設定し、常にこの状態に送信します。
$stateProvider.state('board', {
url: "/:board",
views: {
'content': {
templateUrl: '/tmpl/board',
controller: function($scope, $stateParams, $location) {
console.log('wat')
console.log($location)
}
}
}
});
スラッシュが 1 つしかありません。以下の状態に行ってもlocalhost/contacts/asdf
動かない。
$stateProvider.state('test', { url: "/contacts/asdf", views: { 'main': { templateUrl: '/tmpl/contacts/asdf', controller: function () { console.log('thisここでは機能しません') } } });
これは $location のコンソール ログです。ご覧のとおり、$location は URL の最後の部分のみをパスとして認識します。私が知る限り、それは間違っています。その直前の「連絡先」がありません。どの URL も、URL の部分が 1 つしかないものとして解釈され、
board
状態に送信されます。これを修正するにはどうすればよいですか。ありがとう。
編集:これはangular 1.1.5が原因であることがわかりました。1.1.4 に戻すと、これはありませんでした。