2

過去3〜4日間、Angularjsを調べました。見た目(チュートリアルとビデオを含む)からは、非常に直感的に使用できるように見えますが、実際に現在のWebアプリコードをAngular jsに置き換え始めたとき、起動時に多くの問題に直面しました。

たとえば、特定のイベントで、DOMのどこかにすでに存在する要素にHTMLを追加したい場合、従来のjQueryルートでは、要素を取得してHTMLを追加するだけです。AngularコントローラーではDOM操作がアドバイスされていないため、Angularでまったく同じことを行う方法を理解することはできません。拡張するはずの要素にアクセスするにはどうすればよいですか。

別の例として、ある時点でForm要素をリセットする必要がある場合があります。ここでも、Angularコントローラー内でjQueryスタイルの要素セレクターを使用するというジレンマに直面しています。

誰かがAngularでこれらすべてのことを行う方法を私に説明してもらえますか?

4

3 に答える 3

0

実行する DOM 操作の種類によって異なります。他の人が言ったように、ディレクティブは機能する可能性がありますが、それは複雑なDOMのものや繰り返し可能なウィジェットのためのものです. 通常の形式のスタッフの場合、単にどこかにテキストを入力するだけであれば、コントローラーのスコープでそれを行うことができます。

たとえば、ステータス メッセージを更新する場合、DOM を直接更新する代わりに、スコープのフィールドにバインドできます。

<div>{{statusMsg}}</div>

適切な場合は、コントローラーで次のようにします。

scope.statusMsg = 'Done loading';

Angular には双方向のデータ バインディングがあるため、DOM はメッセージで自動的に更新されます。

フォームのリセットの例では、フォームはモデルにバインドされるため、フォームをリセットするにはモデルをリセットするだけです。これは非常に簡単な例です: http://jsfiddle.net/Kbsqx/

于 2012-11-24T03:08:57.593 に答える