問題タブ [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.
json - $rootScope を使用して、AngularJS で json を返しますか?
私はこの関数を持っていjson
ます$scope.product_owners = data
現在、この関数は自分のコントローラーで使用されているため、すべてのコントローラーで呼び出していますが、一度呼び出すことができたかどうか疑問に思っています。たとえば、$rootScope
またはそのようなものを使用します。
angularjs - $rootScope の設定とその値の変更
$rootScope
変数stateSelection
値のデフォルトを として設定したいのでfalse
。
したがって、私のアプリケーションが実行されると、の値は に$rootScope.stateSelection
なりますfalse
。アプリの初期化時に設定する方法が知りたいです。
現在、私はAuth
サービスのlogin
機能でそれを設定しています。
ユーザーがログインして状態を選択するとclickSelection()
、この関数で & という名前のコントローラーのメソッドを呼び出し、$rootScope.stateSelection = true;
.
ページを更新すると問題が発生し、 の値が に$rootScope.stateSelection
なりfalse
ます。
ありがとう
javascript - AngularJS $rootScope 変数は存在しますが、アクセスできません
モジュールの 1 つで $rootScope 変数を設定しましたが、別のモジュールで同じ $rootScope 変数にアクセスしたいと考えています。これまでのところ、両方のモジュールで変数が適切に設定されていることがわかりますが、$rootScope で変数にアクセスしようとすると、未定義になるだけです。
ファクトリ/サービスの回避策を実行せずにこの変数にアクセスするにはどうすればよいですか? 変数は非常にシンプルで、必要なものには $rootScope で十分です。問題を説明するために、いくつかの一般的なサンプル コードを以下に示します。
file1.js
file2.js
angularjs - 文字列をng-clickに渡す
私は本当にこれを解決しようとしましたが、これまでのところ成功していません。
景色:
私がやろうとしているのは、基本的に「action()」を、rootScope を変更するサービスから送信する変数に置き換えることです。
サービスで:
私が達成したいこと:
しかし、それを置き換えようとすると、ng-click はアクションを認識しません。テキストは正常に表示されますが、アクションは実行されません。
ng-click で実行されるように、rootScope からこのアクションを追加する方法はありますか?
回答をお待ちしております。ありがとうございます。
ところで、私はこれらのオプションを試しました:
1) ng-click の angular.js 解析値 2)文字列としての Angular JS ng-click アクション関数
javascript - 要素の可視性を切り替える Angular ディレクティブ
$rootScope.showContent 値を true または false に変更するディレクティブを作成しました。
次に、要素を非表示または表示するために ng-show="showContent" を使用します。
このアプローチはうまくいきますが、 $rootScope の使用と scope.apply() 関数の使用は避けたいです。それを行うためのより良い方法を私に提案できますか?
以下にいくつかのコードを示します。
HTML
角度
Jsfiddle リンク : http://jsfiddle.net/RickyStam/AkVzz/ (jsfiddle が機能しない理由がわかりません:P)
angularjs - Angular の外部から $rootScope にアクセス/更新する方法
私のアプリケーションは、このように $rootScope でオブジェクト グラフを初期化します ...
...そして、このように、そのオブジェクトグラフからデータを消費します(一方向バインディングのみ)...
これは問題なく動作しますが、その後 (ページのレンダリングが完了した後) $rootScope を更新して元のオブジェクトを新しいオブジェクトに置き換えようとすると、無視されます。これは、元のオブジェクトを置き換えても、AngularJS が元のオブジェクトへの参照を保持しているためだと最初は思いました。
ただし、消費する HTML をコントローラーでラップすると、そのスコープを意図した方法で繰り返し更新することができ、変更がページに正しく反映されます。
$rootScope を介してこれを達成する方法はありますか、またはコントローラー内でのみ実行できますか? また、そのような操作を実装するためのより推奨されるパターンはありますか? 具体的には、AngularJS コードの外部から AngularJS によって消費される完全なオブジェクト グラフを置き換える方法が必要です。
あなたの提案を前もってありがとう、ティム
編集: コメントで提案されているように、$apply 内で変更を実行しようとしましたが、役に立ちません: