我有一个具有“即时”搜索功能的AngularJS 1.7x应用,只要延迟至少500毫秒并且至少包含3个字符(以下代码),该应用就会执行搜索功能。
问题出在我执行搜索然后点击重置按钮之后。一切都会按照预期的方式重置,但是当我进入一个新查询时,不再遵守ng-minlength,即即使我只输入了一个字符,查询函数也会被调用。
由此产生的错误来自以下事实:在第二个(偶然的)POST的请求正文中不再有$ scope.searchParams.q。
这是视图:
Installing collected packages: google-cloud-pubsub
Found existing installation: google-cloud-pubsub 0.26.0
Uninstalling google-cloud-pubsub-0.26.0:
Successfully uninstalled google-cloud-pubsub-0.26.0
Successfully installed google-cloud-pubsub-0.37.2
以下是控制器中的相关功能:
<input ng-model="searchQuery" ng-change="query(searchQuery)" ng-minlength="3"
ng-model-options="{updateOn: 'default blur', debounce: {default:500, blur:0}}">
<md-button ng-if="searchQuery" ng-click="reset()">Clear</md-button>
答案 0 :(得分:0)
它触发的原因是searchText不再为null,而是为空。 尝试在查询函数的开头添加 if(searchText.length> = 3)