我有输入,使用模型“filtro3”。点击,我想删除其内容。这样做是正确的:
<input type="text" ng-model="filtro3" placeholder=" Buscar" ng-click="filtro3 = null">
但是如果我想在一个函数中放置相同的动作是行不通的:
<input type="text" ng-model="filtro2" placeholder=" Buscar" ng-click="actualizaCombo()">
$scope.actualizaCombo = function() {
console.log('actualizaCombo');
console.log('filtro2 before='+$scope.filtro2);
$scope.filtro2 = null;
console.log('filtro2 after='+$scope.filtro2);
}
控制台中显示的执行:
actualizaCombo
filter2 before = undefined
filter2 after = null
当我输入“as”时:
actualizaCombo
filter2 before = null
filter2 after = null
并且不删除其内容,在屏幕上继续显示“as”。 怎么了?遗漏了什么?感谢
答案 0 :(得分:0)
可能你的输入是在一个创建子$ scope的angular指令内,所以当你尝试引用你的$ scope.filtro2时,它就不存在了。 它可能在$ scope。$ parent.filtro2或类似的东西。
作为角度的一个好习惯,你应该更喜欢用点表示法引用一些东西:不要将你的filtro2直接放在$ scope中,而是使用和对象如$ scope.filters = {filtro2:'test'}
或者,通过参数传递要在ng-click中变异的元素 NG-点击: “myAction(myElement)”