[解決済み] AngularJS UI Router - 状態を再読み込みすることなくurlを変更する
質問
現在、私たちのプロジェクトでは、デフォルトの
$routeProvider
を使用していますが、このハックを使って
url
を変更するために、このハックを使用しています。
services.service('$locationEx', ['$location', '$route', '$rootScope', function($location, $route, $rootScope) {
$location.skipReload = function () {
var lastRoute = $route.current;
var un = $rootScope.$on('$locationChangeSuccess', function () {
$route.current = lastRoute;
un();
});
return $location;
};
return $location;
}]);
で、その中に
controller
$locationEx.skipReload().path("/category/" + $scope.model.id).replace();
を置き換えることを考えています。
routeProvider
を
ui-router
を使用することで、ルートのネストを行うことができますが、これを
ui-router
.
と同じことが可能でしょうか。
angular-ui-router
?
なぜこれが必要なのでしょうか?
例を挙げて説明しましょう。
新しいカテゴリを作成するためのルートは
/category/new
の後に
clicking
をSAVEで表示します。
success-alert
を表示し、ルートを変更したい
/category/new
を
/caterogy/23
(23 - は DB に保存されている新しいアイテムの ID)
どのように解決するのですか?
単純に
$state.transitionTo
の代わりに
$state.go
.
$state.go
コール
$state.transitionTo
を内部で呼び出しますが、オプションは自動的に
{ location: true, inherit: true, relative: $state.$current, notify: true }
. を呼び出すことができます。
$state.transitionTo
を設定し
notify: false
. 例えば
$state.go('.detail', {id: newId})
は、次のように置き換えることができます。
$state.transitionTo('.detail', {id: newId}, {
location: true,
inherit: true,
relative: $state.$current,
notify: false
})
編集:fraczによって提案されたように、それは単にすることができます。
$state.go('.detail', {id: newId}, {notify: false})
関連
-
[解決済み] 方法 $state.go()
-
[解決済み] Angular ng-repeat エラー "リピータ内の重複は許可されません。"
-
[解決済み] AngularJSの.$uibModalとは何ですか?
-
[解決済み] angularjsで$compileを操作する
-
[解決済み] controllerAs "プロパティを使用する理由は何ですか?
-
[解決済み] AngularJSで画像を表示する
-
AngularJS がエラー $digest already in progress を報告する
-
[解決済み】AngularJS ui-router ログイン認証
-
[解決済み] AngularJSでコントローラをリロードせずにパスを変更することはできますか?
-
[解決済み] AngularJSのuiルータは、URLなしで状態間のデータを渡す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AngularJSで$httpリクエスト中にスピナーGIFを表示する?
-
[解決済み] angularJSのSTATEを理解する
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] Angular 1.2+ で ng-bind-html-unsafe を複製するために $sce.trustAsHtml(string) を使用するにはどうしたらよいですか?
-
[解決済み] Angularのui-routerでデフォルトの状態を設定する方法
-
[解決済み] ngInject'を本当に書く必要があるのか?
-
[解決済み] AngularJSとHandlebars - 両方必要なのかどうか
-
[解決済み] Angular JSによるシンプルなポップアップ
-
[解決済み] angular-routeとangular-ui-routerの違いは何ですか?
-
[解決済み] ng-repeat :単一フィールドによるフィルタリング