在AngularJS的ng-model中定义一个空值
Defining an empty value on ng-model in AngularJS
我有一个$watch的输入,它实时更新一个搜索查询,全部使用AngularJS。我的问题是,即使将模型的初始值定义为空,它也会触发搜索并默认显示结果。
所以我的问题是,目标是在默认情况下有一个空值,是否有一些方法来实际触发搜索只有当用户输入的东西?我尝试创建一个函数来触发ng-click上的$watch,但到目前为止还没有成功,ng-init也是如此。也许可以在ng上创建一个条件-重复使它只在name != " ?
有什么可能的解决办法吗?
这是我的JS:
function Ctrl($scope, $http) {
var get_results = function(name) {
$http.get('http://api.discogs.com/database/search?type=artist&q='+ name +'&page=1&per_page=30').
success(function(data3) {
$scope.results = data3.results;
});
}
$scope.$watch('name', get_results, true);
$scope.name = '';
}
我的HTML:
<div ng-controller="Ctrl">
<h1>Search Artist</h1>
<input type="text" ng-model="name"/>
<ul>
<li ng-repeat="result in results">{{result.title}}</li>
</ul>
</div>
和一个工作的JSFiddle。
任何帮助将非常感激!谢谢,Eric
使用get_results
函数中的if条件来检查名称是否为空,并在非空字符串时执行请求。
var get_results = function(name) {
if (name) {
$http.get('http://api.discogs.com/database/search?type=artist&q='+ name +'&page=1&per_page=30').
success(function(data3) {
$scope.results = data3.results;
});
}
}
JSFiddle
相关文章:
- JS函数将一个空字符串传回php,但有一个值
- 为什么jQuery attr('href','#')设置了一个空值而不是#
- 为什么1.当我尝试使用javascript和html5获取输入类型号的值时,返回一个空字符串
- 有没有可能让GORM用一个空切片来填充nil值,而不仅仅是nil
- json_encode javascript中使用的空数组给出一个空数组,但如果json_enode在具有某些值的数组上
- 为什么val()返回'伪文本'当我从一个空的文本区域获得值时
- get(一个空字符串)时尝试在 js 中获取 marginTop 值
- javascript空值-它是一个对象吗
- 保存一个输入值,这样,如果用户留空,它将恢复为默认值
- 在javascript中,是一个空字符串,作为布尔值总是为false
- 如何在Typescript中把一个空对象赋值给一个对象
- javascript中的Stringify返回一个空值
- 我怎么能返回一个空对象同时空对象等于布尔值false在javascript
- JS过滤器方法在赋值给变量时返回一个空数组
- 如何重置一个选择下拉列表使用springform:选项和保存空值
- 使用CryptoJS使用密码进行AES解密会返回一个空值
- 我想得到所有的选择选项没有一个空值,然后克隆他们的变化
- 设置输入值,然后禁用并移动到下一个空输入
- PDO FetchAll返回一个空数组,但数据库中有值
- 在AngularJS的ng-model中定义一个空值