为什么我们需要 ng-click
Why do we need ng-click?
Angular 应用程序使用 ng-click()
属性而不是 onclick
事件。
这是为什么呢?
Angular
不会更改 onclick
属性的含义;它会添加并行ng-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包含一个角度表达式。 角度表达式在 Angular 范围的上下文中计算,该范围绑定到具有 ng-click 属性或该元素的祖先的元素。
Angular 表达式语言不包含流控制语句,不能声明变量或定义函数。 这些限制意味着模板只能访问变量并运行控制器或指令提供的函数。
相关文章:
- Angular,表达式{{}}的结果没有插入到ng-click中
- Ng隐藏在Ng-click元素之外
- 如何在ng-click中传递php对象
- AngularJs的ng-click$事件将子元素作为目标传递
- 使用jqGrid列格式化程序函数使ng-click工作
- 在Angularjs中,我如何使用ng repeat、ng model和ng click来动态更改内容
- ng-click指令没有调用整个函数
- 在控制器中添加$location依赖项时,ng-click停止激发
- 如何在ng repeat中使用ng click
- 将我的列表 vom ng-repeat 更改为收集重复 ng-click 后,无法正常工作
- 在 ng-click 中设置$scope变量指令
- 在 Angular 指令中定义一个用于 ng-click 的函数
- 为什么我们需要 ng-click
- (angularJS)使ng-click在ng-repeat上打开一个链接
- 为什么ng-click被称为按钮被点击的次数
- AngularJS:如何防止ng-click以子元素为目标
- 另一个 ng-click() 未按预期工作
- 角度:编译谷歌地图信息窗口内容以使用ng-click
- 是否可以在 ng-click 中调用函数字符串
- angular ng-click我们的javascript甚至点击dentro做HTML SweetAlert2