問題タブ [angular-ui-router-extras]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angularjs - Angular : サブモジュールを独立したアプリとして親アプリに実行します
同じAngularモジュールをN回、「親」Angular Appに独立して実行しようとしています。
ui-route と ui-route-extra を使用すると、子アプリを N 回表示できますが、独立して実行されません。サービスをシングルトンとして共有し (子モジュール インスタンスごとに一意のサービス インスタンスが必要です)、状態を変更します ( state.go または ui-sref) を介して特定のインスタンスに、状態を他のすべてのインスタンスに変更します。
これらの子モジュールを独立したアプリとしてコンテナー アプリに実行する方法が見つかりません...
編集:XYの問題を回避するための背景を説明します。
簡単にするために、チャットシステムを構築します。スタンドアロンのチャット Angular アプリを作成しました。誰でもその Web サイトに (ウィジェットとして) 統合できます。現在、開いているすべてのチャット ルームを表示する管理インターフェイスを作成しようとしています。コードの重複を避けるために、ウィジェット アプリを管理インターフェイスに再利用したいと考えています。問題は、各部屋の動作を分離することです。複数のサービス インスタンスが必要で、状態の変更を特定の部屋に適用する必要があります。
angularjs - angularでapp.jsからコントローラーメソッドを呼び出す方法
app.jsファイルからコントローラメソッド[getFacility()]を呼び出したい。しかし、以下のコードセグメントを使用すると、次のようなエラーが発生しました
Error: [$injector:unpr] Unknown provider:
ここに私のコントローラーファイルとサービスファイル
app.js
facilityControlelr.js
ここで私がコンソールで得たもの。
「エラー: [$injector:unpr] 不明なプロバイダー: facilityControllerProvider <- facilityController http://errors.angularjs.org/1.5.0/ $injector/unpr?p0=facilityControllerProvider%20%3C-NaNacilityController minErr/<@ https: //ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:68:12 createInjector/providerCache.$injector<@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5 .0/angular.js:4397:19 getService@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:4550:39 createInjector/protoInstanceInjector<@ https://ajax. googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:4402:28 getService@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:4550:39 InjectionArgs@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:4574:58 instantiate@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0 /angular.js:4616:18 $ControllerProvider/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:9870:18 z/<.compile/<@ https ://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js:7:23873 invokeLinkFn@ https://ajax.googleapis.com/ajax/ libs/angularjs/1.5.0/angular.js:9492:9 nodeLinkFn@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:8978:11 compositeLinkFn@ https:// ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:8226:13 publicLinkFn@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:8106:30 compilationGenerator/<@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0 /angular.js:8447:20 l@ https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js:7:23072 y/l .compile/https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.3.1/angular-ui-router.min.js:7:23492 $RootScopeProvider/this.$gethttps:// ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:17143:15 v/y.transitionTo/y.transition<@ https://cdnjs.cloudflare.com/ajax/libs/angular- ui-router/0.3.1/angular-ui-router.min.js:7:18793 processQueue@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:15552:28 scheduleProcessQueue/<@https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:15568:27 $RootScopeProvider/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5 .0/angular.js:16820:16 $RootScopeProvider/this.$gethttps://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:16636:15 $RootScopeProvider/this.$gethttps ://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:16928:13 done@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular. js:11266:36 completeRequest@ https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js:11464:7 requestLoaded@ https://ajax.googleapis.com/ajax/libs/ angularjs/1.5.0/angular.js:11405:9
angularjs - ui-router deepstateredirect パラメータ
ajax 呼び出しから deepStateRedirect パラメータを指定する方法はあるのでしょうか? たとえば、ユーザーがパラメーターなしでこの状態になった場合に、解決を使用してデータからロードし、パラメーターを deepStateRedirect に渡すには? そのため、すべてのケースで一定ではない、一種のデフォルト パラメータが用意されています。
例えば:
更新: そのロジック部分を state1 コントローラーに適用し、param1 が空であるかどうかを確認して、そのパラメーター値を ajax 呼び出しでロードできることを知っています。しかし、その場合、 $state.go() を使用すると、ブラウザの戻るボタンを押した後、state1 に戻り、state1 に移動した場所には戻りません。
angularjs - angularjsルーターでクエリパラメータ値が更新されませんか?
このように、1 つの定数パラメーター (ページ)、1 つの動的パラメーター (id)、1 つのクエリ パラメーター (日付) で状態を定義しました。
このようなクエリパラメーターを渡して、コントローラーからこの状態を呼び出しています
この状態を呼び出した後、パラメーターを取得しています。
繰り返しますが、このようにクエリ パラメータを渡さずに、コントローラーから同じ状態を呼び出しています。
今、私は以下のstateparamsを取得しています
$stateParams.date は、状態の呼び出し中に渡さなかったため、未定義にする必要があります。しかし、デフォルトでは URL に渡されていました。オプションのパラメータだったので、渡さない間は無視する必要があります。パラメータを渡さずに同じ状態を再度呼び出しながら「未定義」にする方法は? $stateParams.date=null とか別の名前を渡せば反映されると思います。しかし、ルーターのURLを介して渡す必要はありませんか? これを達成する他の方法はありますか?
更新 1: 投稿された回答の後、期待される結果として「{inherit:false}」を使用しました。しかし、状態の呼び出し中に渡されなかったパラメーター値は継承されませんでした。しかし、オプションのパラメーター値だけを継承したくありません。以下のコードを参照してください。
ここでは、パラメータ ID とタイプを動的にする必要があります。id のみの更新された値で呼び出したと仮定すると、型は継承されません。しかし、日付(条件付きParam)の値ではなく、type paramの値を継承したいのです。
console.log($stateParams.type) -> undefined.(ここで、'type' パラメーター値を渡さずに継承する必要があります。とにかくこれを達成するには?
angularjs - クエリ パラメータが ui-router で機能しない
クエリ パラメータを含む完全な URL を使用して状態にルーティングし、クエリ パラメータに従ってコントローラでアクションを実行する必要があります。
「/load/:portName/:id」のような変数を含む単純なルーティング URL を使用すると、正常に動作します。
queryparameters を追加しても機能しません: "/load?portName&id"
上記は次の URL でアクセスできるはずです: "/load?portName=TEST&id=343"
HTMLで定義されたルートとコントローラーのコードスニペットを以下に投稿しています。
HTML :
angular および ui-router のバージョン: "angular": "1.4.10"、"angular-sanitize": "1.4.10"、"angular-ui-router": "0.2.10"
URL を使用して route3 を直接ロードしたい: localhost:4000/load?portName=test&id=45 ありがとう
angularjs - ビューごとにAngular ui-routerの異なるマスターページレイアウト
私は ui-router の問題に取り組んでいます。
子ページ全体で使用されるメイン マスター ページを構成することができました。子ページのコンテンツも正しく取得されます。
今、私が立ち往生しているポイントは、ログイン/登録ビューです。それらは同じマスター レイアウトの一部ではないため、ページの中央に html コントロールを配置したシンプルなレイアウトになり、他には何もありません。UI にログイン/登録を含める方法を理解するのに苦労しています。 -ルーターロジック。
これは私がこれまでに持っているものです:
ui-router ロジック:
短縮版のマスター ページ (ログイン用ではない) マークアップ:
ログインページ (短縮版):
その新しいレイアウトにリダイレクトする (または既存のマスター ページに組み込む) 適切な方法は何でしょうか?
angularjs - 存在しない州への URL のマッピング
私はui-router-extrasを広範囲に使用していますが、それを最大限に活用しているかどうかはまだわかりません。Future States
から取得した後、実行時にルートを構築していましたAPI
。コントローラー内のデータで動的に作成されたケースを解決しようとしui-tabs
ています。タブが作成されたときにそれらの状態を作成する必要があります。
を押すと、/tabs/
タブはあるが何も選択されていない状態が作成され、 を押すと/tabs/1
最初のタブが表示されます。
コントローラーで状態を作成してこれを実装しようとしましたが、ヒット/tabs/1
してもタブはアクティブになりませんが、状態がまだ作成されていないため、代わりにデフォルトの URL にリダイレクトされます。
どんな助けでも大歓迎です。