アプリケーションの実行後にルートを追加および削除することはできますか?
アプリケーションがあり、ブラウザーで既に実行されており、ユーザーがアプリでウィジェットを開始すると、追加のスクリプトを動的に読み込みます。(GoogleまたはAppleのアプリストアと見なし、アプリをクリックすると、独自のスクリプトでアプリが開きます)。
アプリが行う必要があることの 1 つは、アプリ内にルートを設定することです。
現在のルーティング:
- アプリストア:
/apps
- アプリ ストアのアプリの詳細:
/apps/:appname
- アプリの URL:
/app/:appname
- アプリ内のルート:
/app/:appname/:...
これは次のようになります:/app/notes/create
または/app/contacts/edit
または/app/contacts/new
各アプリは異なるルートを持つことができますが、必ずしも同じレベルにあるとは限りません。/app/news/foreign/latest
各アプリは個別である必要があるため、アプリのスクリプトが読み込まれるときにルートが読み込まれる必要があります。$controllerProvider.register
アプリケーションが既に開始された後にアプリケーションにコントローラーを追加するメソッドを介して、コントローラーとディレクティブに対してこれを行うことができました。
ただし、$routeProvider
アプリの構成フェーズの後は使用できません。
私はそれを汚い方法で公開することができました:
var myApp = angular.module('myApp', []);
myApp.config(function AppConfig($routeProvider) {
myApp.routeProvider = $routeProvider;
});
このようにルートを登録できるように見えますが、予想どおり、Angular アプリケーション自体は実行時にこれらのルートを認識していないため、ブラウザに手動で入力するとこれらの URL は機能しません。
実際、これらのルートは、ルートがトリガーされた後にのみ使用可能になり/app/:appname
、スクリプトが読み込まれ、追加のルートが追加されます。
TL;DR:
- アプリ起動後に新規ルートを綺麗に登録できるか
- これらのサブルートの1つに直接リンクする解決策を知っている人はいますか?
私はjsfiddleをまとめようとしていますが、jsfiddleに入れるのは難しい概念です。