問題タブ [rootscope]
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 - コントローラの 1 つから $rootScope にバインドされた authData にアクセスできません
基本的に私がしようとしている$rootScope.authData
のは、ユーザーの認証情報を保持するプロパティを設定して、別のコントローラーで使用できるようにすることだけです。
ただし、これを試してみると、$rootScope.authData
定義されていないというエラーが表示されます。確認したところ、 からコンソールにログを記録するときに実際に定義されていますが、 からコンソールmainCtrl
にundefined
ログを記録するときtagsCtrl
です。
これは、他のコントローラーの 1 つで使用できるという事実を考えると奇妙です。また、コンソール ログ$rootScope.authData
を追加する$rootScope.test = 'testing'
と、動作することがわかります。mainCtrl
tagsCtrl
私がここでやったことは何も悪いことではなく、私は行き止まりに達しました。何か案は?
を設定するメインコントローラ$rootScope.authData
:
にアクセスできないコントローラー$rootScope.authData
:
編集: Bricktop からのフィードバックの後、このためのサービスを作成しようとしましたが、次のようになりました。
これが有効かどうかはわかりませんが、次のエラーが発生してからではないようです。
私はそれを次のように注入します:
ここで何が問題なのですか?
javascript - AngularJSでコントローラーを互いに通信する方法は?
コントローラーを書いています。このコントローラーは、他のコントローラーと通信する必要があります。しかし、私はそれが可能かどうかはわかりませんか?
HTML:
JS:
JSfiddle のサンプルを修復しました:サンプル
angularjs - Angular Service 関数内で $rootScope をどのように設定しますか?
Angularjs の $rootScope の設定に問題があります。
以下は私の機能です
追加情報:
機能する可能性のある方法の 1 つは、複数のコントローラー間で対話するサービスをセットアップすることです。http.get json オブジェクトを返すサービスでこれを行う方法を知っている人はいますか。
サービス内でインスタンス化されたコントローラーで動的スコープを取得できません。
javascript - 3 番目のコントローラーで使用すると RootScope が機能しない
3 つのコントローラーで rootScope 変数を使用しています。最初のコントローラーは値を設定し、これは ng-show の 2 番目のコントローラーによって使用されます。しかし、同じ rootScope 変数を介して 3 番目のコントローラーから ng-show を制御しようとすると、機能しません。「modstat」 は変数です。私はAngularが初めてです。だから誰かがこれで私を助けてください。コードを以下に示します。
angularjs - 工場でソケット接続が変更されたときにAngularjs socket.onイベントが機能しない
私はsocket.ioの工場を持っています。ユーザーがログインしていない場合、私は持っています
ユーザーがサイトにログインすると、ソケットの値が変更されます。
私のコントローラーには
ファクトリでソケット変数を変更した後、この socket.on('notification') が機能しません。
私の工場
私のコントローラー
angularjs - $rootScope に格納されている値の有効期間
特にページが別のタブで開かれた場合に、 $rootScope に保存されている値の有効期間を知りたいと思っていました。値が失われるか、新しく開いたタブに保持されますか?
javascript - Angularjs ディレクティブの $eval 実行関数の代替
さまざまな構成属性を使用できるカスタム要素ディレクティブ (ユーザーの写真と名前を表示) があります。このuc-on-hover
属性は、ユーザーが DOM 要素にカーソルを合わせたときに表示する要素を決定する関数を取ることができます。現在、関数のロジックは $rootScope (Angular サービスで定義) にあります。ディレクティブ ロジックは$eval(attr['ucOnHover'])
、$rootScope で関数を実行するために実行します。このパターンは当面はうまく機能しますが、複雑すぎて $rootScope が扱いにくくなる可能性があるのではないかと心配しています。とにかく、ディレクティブとサービスの両方の懸念の分離に注意を払い、柔軟なソリューションを作成しながら、ソリューションの設計を変更できるものはありますか?
ビューのコンテキストでの私のカスタム要素ディレクティブ:
$rootScope.namespace.displayFloatingContainer() を定義するサービス:
ディレクティブは、次の方法で $rootScope の関数を呼び出します。
この設計に関するヘルプをいただければ幸いです。
javascript - javascript 内から AngularJS オブジェクトを取得して、ブートストラップ モーダルを開きます
logout() には、モデルを開くコードがあります。rootscope 内の angularjs オブジェクトの値が true の場合にのみ logout() 関数が呼び出されるようにします。rootscope オブジェクトの内容を javascript から確認するにはどうすればよいですか?