AngularJS,用按钮清除输入文本

时间:2013-03-09 00:39:38

标签: javascript angularjs

使用AngularJS,清除文本字段值的正确方法是什么?我有一个输入字段,旁边有一个按钮。用户输入并按下按钮以清除或重置它。

我知道我可以在按钮上添加ng-click事件并调用函数,但我不确定这是否是正确的方法。

现在我只有:

<input type="text" ng-model="searchQuery" />
<button class="btn" <!--do something here maybe?-->>
  <i class="icon-search" ng-class="{'icon-refresh': searchQuery.length}"></i>
</button>

2 个答案:

答案 0 :(得分:30)

我遇到了同样的问题。也许简单最好?

无需在控制器中调用方法。也不需要指令。只是一个简短的声明来清除您在输入标记中声明的模型。像这样:

<input ng-model="searchQuery">
<button class="btn" ng-click="searchQuery = ''"></button>

当输入中没有文字时,您也可以隐藏清除按钮,如下所示:

<button class="btn" ng-show="searchQuery.length" ...></button>

顺便说一句,也许一个将清除按钮放在输入框内的指令会很好。像你在iPhone上看到的东西。

答案 1 :(得分:8)

ng-click是“Angular”的方式

只需在示波器中声明一个函数,然后将其附加到按钮的ng-click

如果你想要更高级的东西,那么“Angular方式”建议创建一个指令来包装你想要的功能,并以某种方式将它附加到你的按钮上(取决于你如何实现你的指令)

如果您想要一个例子,请在评论中告诉我