angular.js - angularjs 的操作dom一般如何写在指令或者服务中?
怪我咯
怪我咯 2017-05-15 16:51:28
0
3
662

用angular一直将数据的操作在controller中执行,代码看上去比较臃肿并且难以维护,是否有最佳实践的案例~感谢~

怪我咯
怪我咯

走同样的路,发现不同的人生

全員に返信(3)
Peter_Zhu

ある意味または「合意」では、DOM 操作は命令内でのみ使用できます。あなたが最後にいるべき場所はサービス中です。 Angular はテスト駆動開発を推奨しています。サービスまたはコントローラーで DOM 操作が発生した場合、それはテストが合格できないことを意味します。もちろん、これは 1 点にすぎません。重要なことは、Angular を使用する利点の 1 つは双方向のデータ バインディングであり、山積みの DOM 操作に対処する必要がなく、ビジネス ロジックの処理に集中できるということです。 Angular コードに依然としてさまざまな DOM 操作が含まれている場合は、開発に jquery を直接使用してみてはいかがでしょうか。

私自身も役立つ例を書きました: https://github.com/dolymood/angular-example

いいねを押す +0
Peter_Zhu

単純にDOMを操作する場合は、DOMに対応するデータクラッドに関しては、テンプレートを介してコントローラーにバインドした後、コントローラー内で直接操作する方が良い場合があります。応答アニメーションをディレクティブでバインドし、コントローラーでイベントをブロードキャストして、ディレクティブ内の対応するアニメーションを制御します。これは、2014 年に angular を使い始めたときに検討した比較的完成度の高い angular プロジェクトです。とても勉強になりましたので、お役に立てれば幸いです。

https://github.com/atian25/wandoujia-satan

いいねを押す +0
伊谢尔伦
  1. ビュー表示に関連するすべてのロジックはディレクティブ内に配置され、ディレクティブのみが dom を操作できます。
  2. ページデータに関連するすべてのロジックは、ページにバインドされたコントローラーに配置されます。
  3. すべての共通データロジックが稼働します。

Angular は実際、元々バックエンドで行われていたいくつかの作業ロジックをフロントエンドにもたらします。

典型的な例: todomvc とソースコード

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!