2016-10-16 3 views
0

メインの「テンプレート」をいくつかの種類のバックグラウンド/メインアプリケーションとしていくつかのURLルーティングと組み合わせてダイアログなどを表示するJavaScriptベースのアプリケーションを使用できるのだろうか?たとえば、ここに短い例があります:ルーティングを使用してダイアログなどを表示するJSメインアプリですか?

  1. メインアプリにはGoogleマップなどが表示されます。 URL:/#
  2. ユーザーがメニュー項目をクリックすると、オプションダイアログが表示されます。 URL:/#options
  3. ユーザーはサブオプションメニューを表示します。 URL:/#options/advanced
  4. ユーザーがメインオプションダイアログを閉じ、メインアプリに戻ります。 URL:/#
  5. ユーザーがURLに座標を入力すると、地図上にその場所が表示されます。 URL:/#のCOORDS/100/

のいずれかの表示にURLを使用しながら、ここでの主なアイデアは、バックグラウンドでの地図表示(私も、そのテンプレートに表示すると、他のものを)維持することですフォームやGoogleマップ自体を制御することさえできますが、ユーザーが最初のロード時に/#オプションなどに行くと、アプリはすべてをロードしてからオプションダイアログを表示する必要があります。

基本的には、私のアプリの最も重要な部分を含む「メイン州」のページを持っていますが、ユーザがブックマークできるダイアログと実行アクションを表示するためにURLルーティングを使いたいと思います未来とシェアなど。私はこのアイデア/コンセプトがどのように呼び出されたのか分からないので、私はそれを求めています。

また、私はこれを実現するために何ができますか?私はこれがオープンな質問ですが、私はJavaScriptベースのアプリケーション/フレームワーク(TypeScriptも動作します)を目指しています。 Angular2 +のUI-ルータはそれを行うことができた場合は、...?そして偉大

をAngular2 +のUI-ルータはこれを行うことができるかどうかはわからない、あるいはどのように私はこれをグーグル必要があります!しかしどのように?他のフレームワークや組み合わせがある場合は、例を挙げてください!私はvue.js、react.jsなどについて読んだことがありますが、vue.jsはあまりにも単純すぎるように見えました.jsはJSファイル内にHTMLを混ぜるのを不安に感じています。あなたが提供できるあらゆるポインタのために事前に感謝! :)

答えて

1

角度2はこれを達成することができます。 1つの方法は、ただ1つのコンポーネントを持つことです。このコンポーネントはあなたの地図を表示します。

あなたのロジックは、それに応じてURIパラメータや表示/非表示のオプションへの変更を監視することができます。これらのパラメータは常に存在するとは限りませんので、optional parameters.

を使用してください。アプリケーションが実行されている間、ビューステートを変更するボタンやリンクにイベントリスナーを追加できます。ユーザーがSelect Cityボタンをクリックすると、イベントリスナーは、適切なパラメータを持つURIに指示することができます。(角度2は、デフォルトで行列URI表記を使用します)

コンポーネントはパラメータの変更をリスニングし、 。

ngOnInit() { 

    this.route.params.forEach((params: Params) => { 
     // this is executed every time new URI parameters arrive 
     this.viewType = params['view']; 
     this.target = params['target']; 

     //todo: update the model to match new parameters 
    }); 
} 
+0

どうもありがとう!あなたは素晴らしいです:)私はそれを示唆した方法を試みましたが、私はAngular 2にいくつかの問題を抱えていましたので、Angular 1.5.xに戻って、ui-routerを使って同じコンセプトを適用しました。 。ありがとう! – DARKGuy

関連する問題