1

我对 angular.js 还是很陌生。这似乎应该很简单,但我很难过。

我有一个输入字段:

<input type="text" placeholder="Search" ng-model="search.txt">

我有一个按钮,可以在我的控制器中通过 ng-click 调用此函数:

$scope.clearSearch = function() {
    $scope.search = {txt:"qqqqq"};
}

单击按钮的行为与预期一样 - 页面上的输入值变为“qqqqq”。所以数据绑定似乎是正确的。

但是,如果我先在字段中输入任何内容然后按下按钮,则页面上的输入值不会更改 - 输入字段会保留我输入的值。这是为什么?

我真正想做的是清除该字段,我只是使用“qqqqq”进行说明 - 将值设置为 null 具有相同的行为。

4

1 回答 1

1

有用:

脚本:

angular.module('myapp',[])
            .controller('myctrl',function($scope){
                $scope.search = {text:'some input'};
                $scope.clearSearch = function () {
                    $scope.search={text:null};
                }
});

标记:

<div ng-app="myapp" ng-controller="myctrl">
      <input type="text" ng-model="search.text"/>
      <button ng-click="clearSearch()">clear</button>
</div>

在 plunker

于 2015-01-08T07:09:25.743 回答