如何在 AngularJS 中清除输入时调用函数
How to call a function when input is cleared in AngularJS?
我知道 Angular 有简单的语法来显示消息或更新 css,但我试图做的实际上是调用一个函数。
<input ng-model="somefield">
<span ng-show="!somefield.length">Please enter something!</span>
<span ng-show="somefield.length">Good boy!</span>
这是我的模型vm.tagSearching = ''
当我开始输入并看到值更新时,我可以检测到它。但是,一旦我到达最后一封信,我删除了我没有得到更新。
我尝试使用$scope.watch
$scope.$watch('vm.tagSearching', function() {
alert('hey, var has changed!');
});
但是,这仅在应用程序初始化时触发一次,但永远不会再次触发,即使在键入时也是如此。
标记
<input class="tag-search-input"
type="text"
placeholder="Search Tags"
ng-model="tgs.tagSearching"
typeahead="t for t in tgs.fuzzyTagSearch($viewValue)">
控制器
function fuzzyTagSearch(word) {
console.log('fuzzyTagSearch',word);
if (word.length > 2) {
ApiFactory.getSearchResults(word).then(function(data) {
console.log('data',data.data.ticker_tags);
vm.terms = data.data.ticker_tags;
});
}
}
您将如何实现这一目标?当用户退格/删除所有字母时,我需要检测输入何时清除,以便我可以重置表格。
您可以简单地设置一个ng-change
指令。
<input ng-model="tgs.tagSearching" ng-change="tgs.detectEmpty()">
vm.detectEmpty = function() {
if (vm.tagSearching.trim().length === 0) {
// it's empty
}
}
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- I'我试图在文本区域中进行特定的输入,调用特定的javascript函数,但没有成功;不起作用
- JavaScript:在调用函数的文本输入上按enter键
- 当输入字段为空时,如何在angular中调用方法
- 如何获取javascript输入并在html中调用它
- 如何调用两个函数是一种html输入类型
- 如何在视图中保存用户输入内容,并在离开页面时对控制器进行后期调用
- 提交按钮只能在onchange调用输入文本后第二次点击时工作
- 调用时未输入角度 ng 单击函数
- 如何将JSP文件中的用户输入调用到Java文件中
- 在MobileFirst javascript适配器中使用xml输入调用DB存储过程
- 使用按钮和来自文本框的输入调用 javascript 函数
- 根据用户输入调用 jsp 文件
- 对文本框中的传递输入调用函数
- 为每个表单输入调用jQuery函数
- 在Bootstrap Modal中对输入调用jQuery函数
- 在Safari中,第一次对输入调用.focus()会延迟
- 如何从动态表单输入调用特定元素
- 引导预先输入调用ColdFusion