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

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

怪我咯
怪我咯

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

répondre à tous(3)
Peter_Zhu

Dans un sens ou une « convention », les opérations DOM ne peuvent apparaître que dans les instructions. Le dernier endroit où vous devriez être est au service. Angular préconise le développement piloté par les tests. Si des opérations DOM se produisent dans votre service ou contrôleur, cela signifie que votre test ne peut pas réussir. Bien sûr, ce n'est qu'un point. Ce qui est important, c'est l'un des avantages de l'utilisation d'Angular, qui est la liaison de données bidirectionnelle, afin que vous puissiez vous concentrer sur le traitement de la logique métier sans avoir à gérer des piles d'opérations DOM. Si votre code Angular est encore plein de diverses opérations DOM, alors pourquoi ne pas utiliser jquery directement pour le développement.

J'ai également écrit moi-même un exemple, qui pourrait vous être utile : https://github.com/dolymood/angular-example

Peter_Zhu

Pour faire fonctionner simplement le DOM, il est préférable de le mettre dans la directive. Lorsqu'il s'agit de données brutes correspondant au DOM, il est préférable d'exploiter directement le scope dans le contrôleur après l'avoir lié au contrôleur via le modèle. . Certaines animations de réponse peuvent être liées dans la directive. Déterminez les choses, puis diffusez l'événement dans le contrôleur pour contrôler l'animation correspondante dans la directive. Voici un projet angulaire relativement complet, que j'ai lu lorsque j'ai commencé angulaire en 2014. J'ai beaucoup appris. Je vais le partager avec vous. J'espère que cela vous sera utile.

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

伊谢尔伦
  1. Toute la logique liée à l'affichage de la vue est placée dans la directive. Seule la directive peut faire fonctionner le dom.
  2. Toute la logique liée aux données de la page est placée dans le contrôleur lié à la page.
  3. Toute la logique de données commune est mise en service.

Angular apporte en fait une logique de travail effectuée à l'origine par le back-end au front-end.

Un exemple classique : todomvc et le code source

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal