如何在指令中捕获复选框事件
How to capture checkbox event in directive?
我是Angular的新手,想在指令中调用和捕获Checkbox事件(checked/unchecked)
。所以这意味着当有人选中复选框时,它应该在links|controller
中调用一些代码/函数;理想情况下,在指令的控制器中避免使用$watch。下面是我目前得到的结果:
<!-- this reside in a different view under some controller called 'myCtrl' -->
<input my-directive type="checkbox">
angular.module('myApp').directive('myDirective', function () {
var directive = {};
directive.restrict = 'A';
directive.controller = ['$scope', '$rootScope', function ($scope, $rootScope) {
// maybe capture checkbox event here
}];
directive.compile = function () {
var linkingFunction = function (scope, element, attributes, ngModel) {
// or capture event here and do some logic
// logic might look like below in pseudo code
if (input element is checked ) {
do something
also store the capture value in a variable i.e. `checked`
}
if (input is uncheched) {
then do this other thing
also store the capture value in a variable i.e. `unchecked`
}
};
return linkingFunction;
};
return directive;
});
理想情况下,我想用每个checked and unchecked
事件调用此指令,并且还捕获事件值,但主要关注的是当复选框被选中时调用此指令。
谁能告诉我怎么做?
您尝试执行的指令已经存在,并且名为ng-change
把它设置为你的复选框:
<input type="checkbox" ng-change="yourController.reactOnChangedValue($event)">
检查给定的URL,他们有一个例子,应该足以满足您的目的。
如果你仍然坚持自己写,只要看看ng-change源代码。
相关文章:
- 如果选中了多个复选框,如何添加事件
- 复选框,然后单击事件处理
- Firefox:点击并更改未附加到文档树中的复选框元素上的事件
- 选中javascript中的属性集时,复选框更改事件未触发
- jQuery复选框(在ul>li下)检查事件
- 如何禁用自定义复选框的单击事件
- 将函数事件绑定到更改函数的复选框/标签
- 复选框事件onclick不起作用
- 单击复选框后未收到复选框事件
- 使用 JavaScript 复选框事件切换 html 的可见性
- 复选框事件和保持数组-如何在代码中处理
- onclick复选框事件
- 根据某些业务逻辑动态添加和删除复选框事件
- 复选框事件找不到javascript函数
- jqGrid复选框事件
- jQuery复选框事件处理程序Bug
- 如何在指令中捕获复选框事件
- 复选框事件处理程序抛出错误的点击事件在chrome浏览器,safari工作良好的键盘事件
- AJAX调用后未触发语义UI复选框事件
- 使用 jquery 跟踪复选框事件