1

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ここでは機能しません') } } });

コンソールSS これは $location のコンソール ログです。ご覧のとおり、$location は URL の最後の部分のみをパスとして認識します。私が知る限り、それは間違っています。その直前の「連絡先」がありません。どの URL も、URL の部分が 1 つしかないものとして解釈され、board状態に送信されます。これを修正するにはどうすればよいですか。ありがとう。

編集:これはangular 1.1.5が原因であることがわかりました。1.1.4 に戻すと、これはありませんでした。

4

2 に答える 2

1

これが原因である可能性があります: https://github.com/angular/angular.js/issues/2799。ベース href を追加してみてください。

于 2013-05-27T22:44:38.793 に答える