断言var集通过<输入ng模型>不是未定义的
Assert var set via <input ng-model> is not undefined
我正试图根据输入到<input>
标记中的值启用或禁用按钮。该字段可以为空,或者必须输入int>0,因此,我想断言,只要limitMatches
不是undefined
。
我已将我的input
标签配置为:
<input type="number" min="1" step="1" class="form-control" ng-model="query.limitMatches"/>
在角度控制器中:
$scope.query = {limitMatches: null};
$scope.searchAllowed = function() {
typeof $scope.query.limitMatches !== "undefined";
};
然而,我的searchAllowed
函数总是返回true,即使在控制台中(使用console.log($scope.query.limitMatches);
)我可以看到limitMatches
显然被设置为undefined
。
问题是undefined
并不严格等于null
,这就是为什么函数为"未定义"模型返回true事件的原因。
我会简化函数,对任何错误的值做出相同的反应:
$scope.searchAllowed = function() {
return Boolean($scope.query.limitMatches);
};
我找到了解决方案!
原来我需要把typeof $scope.query.limitMatches !== "undefined";
放在括号里。。。
$scope.searchAllowed = function() {
(typeof $scope.query.limitMatches !== "undefined");
};
真是个踢球者!
相关文章:
- 在<页眉>标签
- 在VanillaJS中模拟模型双向数据绑定
- 如何更改<svg>标记为<img>用js标记
- Ckeditor-plugin:插入虚假元素add不情愿<p>标签前后
- Ajax文件加载和<输入>文件加载
- 为什么要使用0>javascript中的0
- 为集合分配大量的模型弹药
- 如何使用backbone.js从集合中获取模型名称
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 链接所有<a>Meteor
- 在<输入类型=“;文件“/>
- Div根据<选择>菜单
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- 骨干模型默认值-todos.js示例中不必要的代码
- EmberJS中支持单字母单词模型
- 如何首先设置样式<td>表中包含在窗体中的元素
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- 断言var集通过<输入ng模型>不是未定义的
- 为什么Angular不通过添加'选择'属性为<选项>当它正确更新模型时,在ng选项中标记
- 骨干模型->收藏->型号->更新-不触发根模型的更改