[解決済み] AngularJSのjs関数外からのアクセススコープ
2022-06-09 22:37:55
質問
外部のJavaScript関数(対象のコントローラには全く関係ありません)を使って、コントローラの内部スコープにアクセスする簡単な方法がないか試しています。
私はここで他のいくつかの質問で、以下のことを見ました。
angular.element("#scope").scope();
は DOM 要素からスコープを取得しますが、私の試みは現在適切な結果を得ていません。
以下は、jsfiddleです。 http://jsfiddle.net/sXkjc/5/
私は現在、プレーンJSからAngularへの移行を進めています。これを達成しようとしている主な理由は、オリジナルのライブラリコードを可能な限りそのままにしておくことです; 私が各関数をコントローラに追加する必要性を省くためです。
これを達成するためにどうすればいいか、何かアイデアはありますか?上記のフィドルに対するコメントも歓迎します。
どのように解決するのですか?
あなたは $scope.$apply() を使用する必要があります。これは、jquery/javascriptのイベントハンドラのように、angularjsの制御外からスコープの値に何らかの変更を加えたい場合です。
function change() {
alert("a");
var scope = angular.element($("#outer")).scope();
scope.$apply(function(){
scope.msg = 'Superhero';
})
}
デモ フィドル
関連
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] AngularJS 。scope.apply()呼び出し時の$digest already in progressエラーを防ぐ。
-
処理されない例外が発生しました。Angular 実行中のプロジェクトで NGCC に失敗しました。
-
[解決済み] AngularJSでデータバインディングはどのように機能するのですか?
-
[解決済み] AngularJSを使用して、ブラウザのコンソールで$scope変数にアクセスするにはどうすればよいですか?
-
[解決済み] AngularJSで$scope.$watchと$scope.$applyを使用するにはどうすればよいですか?
-
[解決済み] AngularJS コントローラにおける 'this' と $scope の比較
-
[解決済み] 子コントローラから親スコープにアクセスするAngularJS
-
[解決済み】AngularJSのディレクティブスコープにおける「@」と「=」の違いは何ですか?
-
[解決済み】AngularJSのスコーププロトタイピング/プロトタイピング継承のニュアンスとは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
angularjs ローカルデータストレージ LocalStorage
-
[解決済み] X-Frame-Options'を'SAMEORIGIN'に設定しているため、フレーム内での表示を拒否された。
-
[解決済み] AngularJs ReferenceError: $http is not defined
-
[解決済み] AngularJSのng-showとフェードアニメーション
-
[解決済み] ng-pattern` - 数字だけをチェックする方法は?
-
AngularJS がエラー $digest already in progress を報告する
-
[解決済み] AngularJSとHandlebars - 両方必要なのかどうか
-
[解決済み] Angular JSによるシンプルなポップアップ
-
[解決済み] AngularJSです。コントローラコンポーネントの外からコントローラ関数を呼び出す方法
-
[解決済み] レガシーコードからAngularJSを呼び出す