2016-06-14 8 views
0

新しいブラウザタブで状態を開こうとするときに問題が発生しました。新しいブラウザタブでデータを開くときに、非同期呼び出しを解決してデータを入力する必要があります。これはangularjs ui routerとは可能ですか?AngularJS UIルータ - 新しいブラウザタブのデータを開いた状態

は、ここに私のUIルータの設定です:

.state('snapshots.user_detail', { 
 
    url: "/user/detail/{userID:[0-9]+}", 
 
    templateUrl: function($stateParams) { 
 
    return "user/detail/" + $stateParams.userID; 
 
    }, 
 
    controller: "userDetailCtrl as userDetailCtrl", 
 
    resolve: { 
 
    async: ['userService', '$stateParams', 
 
     function(userService, $stateParams) { 
 
     alert("running detail ctrl async"); 
 
     return userService.getUser($stateParams.userID); 
 
     } 
 
    ] 
 
    } 
 
})

userDetailCtrl:

function userDetailCtrl($scope, async) { 
 
    "use strict"; 
 
    var self = this; 
 
    self.user = async; 
 
}

+0

これは、SPAとしての角度の目的を破るものではありませんか?私は前にこれをやったことがない... –

答えて

0

まあ私の問題が関係しているようですangularjsでhtml5modeを有効にする。

html5modeを引き続き使用するために、私は角度のUIルータのウェブサイトによって提案されたURLの書き換えを行う、またはこの場合のような指標を指すように、バックエンドですべての私のルートをリダイレクトすることができます。

Spring Boot with AngularJS html5Mode

私はそれが私がデフォルトで必要とするものをサポートしていることを認識しているので、html5modeを完全に無効にすることができます。

新しいブラウザのタブでリンクを開く傾向があります。私は実際にこのニーズに応えようとしています。

関連する問題