Javascript 如何使用AngularJS检查控制器中的输入字段是否有值
我只是想找出如何检索scopes信息,看看它在控制器中是否有值 我需要能够写一个if语句,说明如果这个文本输入字段被填充,请执行以下操作。。。如果有别的事,做些不同的事Javascript 如何使用AngularJS检查控制器中的输入字段是否有值,javascript,angularjs,Javascript,Angularjs,我只是想找出如何检索scopes信息,看看它在控制器中是否有值 我需要能够写一个if语句,说明如果这个文本输入字段被填充,请执行以下操作。。。如果有别的事,做些不同的事 <form name="deadlineForm"> <div class="app-select-date"> <label for="deadline">Select deadline:</label> <input pickada
<form name="deadlineForm">
<div class="app-select-date">
<label for="deadline">Select deadline:</label>
<input pickadate ng-model="deadline" format="dd/mm/yyyy" placeholder="Select deadline"/>
</div>
</form>
选择截止日期:
在控制器中编写此代码的最佳方式是什么?使用
ng model=“deadline”
将其绑定到变量(deadline
)
您在控制器中的签入变得非常简单:
if ($scope.deadline != null && $scope.deadline != "") {
//do something
}
或者这甚至可以简化为
if ($scope.deadline) {
//do something
}
简单。您将在输入中获得如下值:
$scope.deadline
你可以检查一下
if($scope.deadline) { //or whatever condition you have to check null or empty
//anything you want to do
}
据我所知,这是:
<form name="deadlineForm">
<div class="app-select-date" ng-if="deadline && deadline != ''">
<label for="deadline">Select deadline:</label>
<input pickadate ng-model="deadline" format="dd/mm/yyyy" placeholder="Select deadline"/>
</div>
<div ng-if="!deadline && deadline == ''">do something else</div>
</form>
选择截止日期:
做点别的
这对你有用吗
角度.module('app',[])
.controller('MainCtrl',函数($scope){
$scope.$watch('val',函数(现在,旧){
如果(现在){
$scope.result='有东西';
}否则{
$scope.result='什么都没有';
}
});
});
请检查工作示例:
HTML:
使用ng模型会自动将输入的任何值绑定到同名的$scope变量 当您向控制器中注入对作用域的依赖时,该变量可用于控制器中的普通JavaScript 因此,
$scope.deadline
将给出输入的文本的当前值
如何检查该值取决于何时检查该值的上下文
如果您使用的是现有函数,例如表单提交时检查字段验证的函数,那么
if ($scope.deadline) {
// do something
} else {
// do something else
}
就够了
如果您希望在输入字段更改时触发逻辑,则可以在控制器中使用$watch指令,如,或者可以向输入添加ng change或ng blur属性,并调用控制器端函数:
<input pickadate ng-model="deadline" format="dd/mm/yyyy" placeholder="Select deadline" ng-change="selectedDate()"/>
如果希望条件逻辑直接出现在视图中,则将实时绑定到输入字段中的值,然后ng If
、ng show
和ng hide
可能会有所帮助:
<span ng-show="deadline">Show this if deadline has a value</span>
<span ng-hide="deadline">Don't show this if deadline has a value</span>
<span ng-if="!deadline">Don't render this into the DOM at all if deadline doesn't have a value</span>
如果“截止日期”有值,则显示此选项
如果“截止日期”有值,则不显示此项
如果“截止日期”没有值,则根本不要将其呈现到DOM中
使用$watch是一项成本高昂的操作,在我看来,应该尽可能避免使用$watch。你似乎是对的。。我认为是这样。。但是,如果有另一种方法在javascript端触发代码而不使用它,我也喜欢听它:DIf如果你添加一个提琴,我会把它作为正确的答案推过去。:)不错!谢谢大家的帮助!
<input pickadate ng-model="deadline" format="dd/mm/yyyy" placeholder="Select deadline" ng-change="selectedDate()"/>
$scope.selectedDate = function(){
if ($scope.deadline) {
// do something
} else {
// do something else
}
}
<span ng-show="deadline">Show this if deadline has a value</span>
<span ng-hide="deadline">Don't show this if deadline has a value</span>
<span ng-if="!deadline">Don't render this into the DOM at all if deadline doesn't have a value</span>