4

角度スコープの仕組みについて混乱しています!!!

ng-init と onLoad を使用して、2 つの変数を 1 つのテンプレートに渡しています。両方の変数値がテンプレートからアクセスされますが、そのテンプレートにバインドしたコントローラーが 1 つあります。コントローラーからのアクセス中に、両方の変数がテンプレートから値を出力するのに未定義 (onLoad 変数) を出力する理由を考えています。

Fiddle illustrating my problem jsフィドル

私が理解しているのは、ng-init を使用して変数を渡すと、現在のスコープ内にその変数が作成されますが、onLoad によって渡されるその変数はどうなるのでしょうか??

具体的にどう動くのか教えてください。

ありがとうございました。

4

2 に答える 2

3

両方の変数は、2 番目のコントローラーからアクセスできます。

onloadただし、式が評価される前に 2 番目のコントローラーが作成されるようです。そうは言っても、スコープ変数にアクセスしたい場合は、ウォッチを介してアクセスできます(とにかく、スコープ変数の初期値を使用するのではなく、ウォッチを使用したいでしょう-変数がプロミスの結果である場合はどうなりますか?)。

次の例は、2 番目のコントローラーから負荷にアクセスできることを示しています。

http://jsfiddle.net/rDP2t/3/

于 2013-08-26T11:28:12.203 に答える
2

ng-init は、ページがブラウザーによって解析される前に angular によって評価されるためです。したがって、コントローラーは最初の値を取得します。この後、オンロードが発生します。そのため、オンロード時に値を設定するのは遅すぎます。

于 2013-08-26T11:19:52.943 に答える