在这种情况下,处理AngularJS中事件的最佳方法是什么?

安德烈·诺比利

我是AngularJS的新手,我对如何在Angular中处理事件存在以下疑问。

所以我知道在视图中我是否有这样的东西:

<input type="text" ng-model="handle" />

这意味着在dom中的此输入元素和Angular $ scope中handle变量之间存在2向绑定,例如:

$scope.handle = '';

因此,对该输入对象进行的任何更改都意味着$ scope中handle属性的更改,反之亦然。

因此,在Angular应用中,我可以显式声明一个whatcher

// I explicitly declare a whatcher on the handle property: when the value of this propertu change the function() is performed:
$scope.$watch('handle', function(newValue, oldValue) {

    console.info('Changed!');
    console.log('Old:' + oldValue);
    console.log('New:' + newValue);

});

因此,它的含义与手动添加经典香草JavaScript EventListener(通过addEventListener()在要在经典旧香草JavaScript应用程序(不使用Angular)中要观察的对象上)具有相同的含义。

当输入值发生变化时,将执行与Whatcher相关的功能。

好吧,对我来说很清楚。

现在我说我也可以做这样的事情。

在HTML代码中,我可以输入以下内容:

<input type="button" value="Click Me" ng-click="alertClick()" />

在Angular控制器中,我将看到类似以下内容的内容:

$scope.alertClick = function() {
    alert("Clicked !!!");
}

因此,当按钮上有click事件时,似乎ng-Click指令执行的功能是$ scope字段。

但是我可以做与第一个示例相同的操作吗?如果通过ng-model =“ handle”指令将其与模型对象相关联,我可以在按钮上声明一个whatcher吗?

什么时候最好使用第一种方法,什么时候最好使用第二种方法来处理AngularJS中的事件?

B0ltz

ngModel用于将输入形式的UI绑定到控制器

ngClick只是一个常规的javascript表达式,可以访问将在click事件中执行的控制器范围。

在这里,您必须使用ng-click。

使用angular的一个好习惯是避免使用诸如addEventListener()或Jquery之类的其他函数...因为AngularJS包装了所有这些功能,并且在必要时将运行摘要循环或其他伏都教徒魔法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

来自分类Dev

在Django中从QuerySet中排除对象实例的最佳方法是什么(在这种情况下,filter()不是选项)?

来自分类Dev

mysql:在这种情况下索引多列的最佳方法是什么

来自分类Dev

在这种情况下,绕过“ MemoryError”的最佳方法是什么?

来自分类Dev

在这种情况下使用索引匹配的最佳方法是什么?

来自分类Dev

在这种情况下,避免混乱循环的最佳方法是什么?

来自分类Dev

在这种情况下处理异常的最佳方法是什么

来自分类Dev

为什么在这种情况下事件处理程序不起作用?

来自分类Dev

在这种情况下,语法[]是什么意思?

来自分类Dev

在这种情况下,`typedef`是什么意思

来自分类Dev

在这种情况下,括号是什么意思?

来自分类Dev

在这种情况下,运算符“(> =)”是什么?

来自分类Dev

C ++:在这种情况下引用的优点是什么?

来自分类Dev

在这种情况下,熵是什么意思?

来自分类Dev

在这种情况下选择不同的orderID的快速方法是什么?

来自分类Dev

在这种情况下,最好地测试axios功能的正确方法是什么?

来自分类Dev

在这种情况下,将undef传递给DBI的do方法的目的是什么?

来自分类Dev

在这种情况下,什么是“生成”?

来自分类Dev

在这种情况下,非泛型方法不能与类型参数一起使用的含义是什么?

来自分类Dev

在这种情况下,通过构造函数或显式函数进行隐式转换的更好的方法是什么?

来自分类Dev

在这种情况下,有效替代“ None”作为空返回值的方法是什么

来自分类Java

为什么在这种情况下引发异常的方法的调用者不必处理该异常?

来自分类Dev

在这种情况下,唯一标识用户的最佳方法是?

来自分类Dev

为什么在这种情况下事件始终是pygame.MOUSEBUTTONDOWN?

来自分类Dev

在这种情况下,“分配空字符串”是什么意思?

来自分类Dev

在这种情况下,@ InitBinder和WebDataBinder的作用是什么

来自分类Java

在这种情况下,“隐式匿名类参数”是什么意思?

来自分类Java

微服务架构,在这种情况下是什么服务

来自分类Dev

在这种特定情况下,模仿Go中继承的最惯用方式是什么?

来自分类Dev

在这种情况下,下划线是什么意思?

TOP 榜单

热门标签

归档