4

アプリケーションの実行後にルートを追加および削除することはできますか?

アプリケーションがあり、ブラウザーで既に実行されており、ユーザーがアプリでウィジェットを開始すると、追加のスクリプトを動的に読み込みます。(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に入れるのは難しい概念です。

4

1 に答える 1

1

これについてもっと考えて、私たちの問題を別の方法で解決したので、私の要求が不可能であることが明らかになりました.

  • まだ登録されていないルートにはリンクできません
  • 後でルートを登録することはできますが、モジュールの構成セクションで routeProvider を使用するほどきれいではありません。
于 2014-11-27T20:39:56.687 に答える