如何使用 Angular 删除一个属性(或至少是它的值)?具体来说,假设我有一个ng-click
活动。我什至希望它只触发一次,我认为最简单的方法是在 ng-click 事件中进行“自毁”。类似的东西
elementClicked = function(){
//do work
element.ngClick=null;
}
如何使用 Angular 删除一个属性(或至少是它的值)?具体来说,假设我有一个ng-click
活动。我什至希望它只触发一次,我认为最简单的方法是在 ng-click 事件中进行“自毁”。类似的东西
elementClicked = function(){
//do work
element.ngClick=null;
}
删除 ng-click 属性将不起作用,因为删除属性后单击事件侦听器仍然存在。您需要将 ng-click 绑定设置为 null。
我创建了点击一次指令。它第一次监听元素点击事件并执行 ng-click 绑定,然后将其移除。
.directive('clickOnce', function() {
return {
scope: {
'ngClick': '&'
},
link: function(scope, element) {
element.bind('click', function() {
if (scope.ngClick) {
scope.ngClick();
scope.ngClick = null;
}
});
}
}
});
这是标记:
<button click-once ng-click="doThis()>my button<button>
这是jsFiddle。