recherche

Maison  >  Questions et réponses  >  le corps du texte

angular.js - angularjs 的操作dom一般如何写在指令或者服务中?

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

怪我咯怪我咯2743 Il y a quelques jours668

répondre à tous(3)je répondrai

  • 天蓬老师

    天蓬老师2017-05-15 16:53:28

    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

    répondre
    0
  • 天蓬老师

    天蓬老师2017-05-15 16:53:28

    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

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-15 16:53:28

    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

    répondre
    0
  • Annulerrépondre