非同期の ajax チェックと呼び出しがある場合に、 Angular UI Router Extrasの追加が 2 回 (init で!) イベントをトリガーする理由を説明してもらえますか?$stateChangeStart
e.preventDefault()
短いイベント コードの例:
$rootScope.$on("$stateChangeStart", function (e, toState, toParams, fromState, fromParams, error) {
console.log("$stateChangeStart");//fired twice
if(!User.data) {
e.preventDefault();
$http.get("https://randomuser.me/api/")
.success(function(data, status, headers, config) {
console.log(data);
User.data = data;
$state.go(toState, toParams);
});
}
});
エクストラを追加しなくても、すべてが期待どおりに機能しています。
TNX