Angular应用使用ng-click()
属性而不是onclick
事件。
为什么是这样?
Answers:
Angular不会改变onclick
属性的含义;它添加了parallelng-click
属性以采用Angular表达式。onclick
即使您使用Angular,也可以使用普通的旧JavaScript代码。
实际上,假设您在单击处理程序中所做的是更改Angular作用域中的某些变量,或在Angular作用域中调用更改某些变量的函数。要通过JavaScript代码(例如您要放入的代码)做到这一点,onclick
需要执行一系列步骤
scope.$apply
以便所有监视您更改的变量的更新均得到通知看起来像:
<a onclick="var $scope = angular.element(event.target).scope(); $scope.yourVar = 42; $scope.$apply()">Go</a>
以及ng-click
赋值的Angular表达式,几乎所有这些都是隐式的:
<a ng-click="yourVar = 42">Go</a>
ng-click
允许的。为什么会这样,我不知道。)