单击角度刷新模型

时间:2015-03-24 18:46:46

标签: javascript angularjs

我有输入,使用模型“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”。 怎么了?遗漏了什么?感谢

1 个答案:

答案 0 :(得分:0)

可能你的输入是在一个创建子$ scope的angular指令内,所以当你尝试引用你的$ scope.filtro2时,它就不存在了。 它可能在$ scope。$ parent.filtro2或类似的东西。

作为角度的一个好习惯,你应该更喜欢用点表示法引用一些东西:不要将你的filtro2直接放在$ scope中,而是使用和对象如$ scope.filters = {filtro2:'test'}

或者,通过参数传递要在ng-click中变异的元素 NG-点击: “myAction(myElement)”