Javascript 如何为文本框应用ng if

Javascript 如何为文本框应用ng if,javascript,jquery,html,css,angularjs,Javascript,Jquery,Html,Css,Angularjs,在我的plunker中,我有两个文本框。我在文本框中应用了ng if。如果ng模型包含-1值,则它需要离开该文本框并能够输入另一个值,如果它不是-1,则没有问题。我们可以继续 但是在这里,如果我应用ng if,那么它会隐藏文本框,但我不想隐藏,只想隐藏值 HTML:- <input type="text" ng-if ="model !=-1" ng-model="model"/> $scope.model = '-1'; $scope.model1 = '1'; 实际

在我的plunker中,我有两个文本框。我在文本框中应用了
ng if
。如果ng模型包含
-1
值,则它需要离开该文本框并能够输入另一个值,如果它不是
-1
,则没有问题。我们可以继续

但是在这里,如果我应用
ng if
,那么它会隐藏文本框,但我不想隐藏,只想隐藏值

HTML:-

<input type="text" ng-if ="model !=-1"  ng-model="model"/>
  $scope.model = '-1';
  $scope.model1 = '1';

实际上,
ng if
指令在为真时隐藏其父指令。我认为,当有人输入-1时,您实际上需要更改文本框的值。因此,请使用
$watch

var module = angular.module("myModule", []);

module.controller('myController', ['$scope', function($scope) {
$scope.model = '-1';
$scope.model1 = '1';
$scope.txtValue = 1;
$scope.$watch("txtValue", function (newVal) {
    if (newVal == '-1')
    {
        $scope.model1 = -1;
        $scope.txtValue = "";
    }
    else
    {
        $scope.model1 = newVal;
    }        
    });
}]);
HTML



请记住删除
ng如果
指令

您可以添加另一个输入,当ng模型包含-1和空值时,该输入将可见,以便用户可以输入新值

<div ng-app="myModule">
  <div ng-controller="myController">
    <input type="text" ng-if ="model !=-1"  ng-model="model"/>
    <input type="text" ng-if ="model1 !=-1"  ng-model="model1"/>
    <input type="text" ng-show="model ==-1" ng-model="model = null" >
  </div>
</div>


对不起,我已编辑了该问题它不应再次为零,它应仅包含
-1
,并且需要隐藏我编辑答案的值。你现在能查一下吗。将
txtValue
放入textBox的
ng模型
当我混淆我为脚本添加了html部分时,请给我上面的js代码的html示例代码。检查它似乎没问题,但是ng模型应该只包含-1只存储原始值,如果输入不被触动(value=null),用原始值替换模型。。。
<div ng-app="myModule">
  <div ng-controller="myController">
    <input type="text" ng-if ="model !=-1"  ng-model="model"/>
    <input type="text" ng-if ="model1 !=-1"  ng-model="model1"/>
    <input type="text" ng-show="model ==-1" ng-model="model = null" >
  </div>
</div>