方法案としては2種類あります。
1.window.target_scope = $scope等
お互い参照出来る共通のスコープに移動して編集出来るようにする
この案は一見なんでグローバス変数にぶら下げるとか馬鹿じゃね?
…と思うかもしれませんが、
赤の他人がいきなり他人の世界のプロパティにアクセスを試みるのは設計として不自然です。
なのでwindowにぶら下げるのもダサいながら方針の一つとして記載しました。
グローバル変数にぶら下げたくないなら、もう一工夫頑張ってみてください。
シングルトンというデザインパターンは解決策の一つになるかと思います。
2.jQuery('hogehoge').scope()
でHTML世界からAngular世界のスコープにアクセス
実はAngularを読み込んだ時にjQueryが読み込まれている場合、
jQueryオブジェクトにscopeというメソッドが追加されています。
試しにChromeで以下を試してみてはいかがでしょうか。
- 特定スコープの配下にあるDOMを右クリック
- 要素を検証をクリック
- Elementsで要素を選択されているのを確認して、コンソールに
hoge = $($0).scope()
と打ち込む
- hoge変数=そのスコープなので
hoge.piko = 123
等としてスコープ内の値を自由に書き換えられる事を確認する
当然、バッドノウハウ中のバッドノウハウなので別の手段を用いた方が良いです。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/11/08 14:53
2015/11/10 12:41