使用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>
答案 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方式”建议创建一个指令来包装你想要的功能,并以某种方式将它附加到你的按钮上(取决于你如何实现你的指令)
如果您想要一个例子,请在评论中告诉我