当前位置:  开发笔记 > 编程语言 > 正文

Angularjs何时何地绑定事件

如何解决《Angularjs何时何地绑定事件》经验,为你挑选了1个好方法。

我还在学习Angularjs,我想在动态模板上绑定事件的时间和地点,我应该把它放在Angularjs的方式?除了直接将其放入模板ng-click之外

//template
{{person.name}}
//Jquery version $('.person').click(function(){ //get attribute value //do stuff }); //Angular version - where should I put this angular.element('.person').on('click', function() { //get attribute value //do stuff });

Valentyn Shy.. 5

在AngularJS中,您应该只关注可视组件(指令)中的DOM .在其他任何地方你都不应该对DOM有所了解 - 它们有哪些元素,它们是如何组合的等等.这是Angular中最酷的东西之一 - 你可以在不改变JS的情况下改变模板.

所以这种分离是关键点.在AngularJS中,您应该将所有连接到DOM的内容直接放在模板中(附加事件侦听器,绑定到模型等).

但是,在Directives中,您可以将事件侦听器绑定和解除绑定到DOM元素:

angular.directive('test', function() {
   return {
      restrict:'E',
      link: function(scope, element,attr) {
          element.on('click', function() { console.log(attr.value); })
      }
   }
}

但是我想建议考虑使用标准指令(ng-click)来处理标准事件并绑定到控制器的方法.



1> Valentyn Shy..:

在AngularJS中,您应该只关注可视组件(指令)中的DOM .在其他任何地方你都不应该对DOM有所了解 - 它们有哪些元素,它们是如何组合的等等.这是Angular中最酷的东西之一 - 你可以在不改变JS的情况下改变模板.

所以这种分离是关键点.在AngularJS中,您应该将所有连接到DOM的内容直接放在模板中(附加事件侦听器,绑定到模型等).

但是,在Directives中,您可以将事件侦听器绑定和解除绑定到DOM元素:

angular.directive('test', function() {
   return {
      restrict:'E',
      link: function(scope, element,attr) {
          element.on('click', function() { console.log(attr.value); })
      }
   }
}

但是我想建议考虑使用标准指令(ng-click)来处理标准事件并绑定到控制器的方法.

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有