单击时角度刷新模型

Angular refresh model on click

本文关键字:刷新 模型 单击      更新时间:2023-09-26

我有一个输入,使用模型"filttro3"。点击,我想删除它的内容。这样做是正确的:

<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"。怎么了?错过了什么?感谢

您的输入可能在创建子$scope的angular指令内,因此当您尝试引用您的$scope.filtro2时,它不存在。它可能在$范围内$parent.filtro2或类似的东西。

作为angular的一个好做法,你应该更喜欢用点表示法引用一些东西:不要把你的filtro2直接放在$scope中,而是使用和object,比如$scope.filters={filtro2:'test'}

或者,通过参数传递要在ng单击中发生突变的元素ng点击:"myAction(myElement)"