我刚开始学习AngularJS。在我写的测试程序中,我需要在控制器(脚本)内检查输入字段是否为空。
以下是我写的代码
<div ng-controller="ExampleController">
<input type="text" ng-model="userFirstName" required/><br>
<p ng-bind="msg"></p>
</div>
<script>
var mainApp = angular.module("mainApp", []);
mainApp.controller('ExampleController', function ($scope) {
if($scope.userFirstName.length === 0){
$scope.msg = "pls enter something";
}else{
$scope.msg = "Something Entered";
}
});
</script>
在这里,作为输出,我希望看到pls enter something
。但我看不到任何东西。
但如果我通过一些小的更改将脚本更改为以下内容,它会按预期显示Something Entered
。
<script>
var mainApp = angular.module("mainApp", []);
mainApp.controller('ExampleController', function ($scope) {
$scope.userFirstName = 'Something';
if($scope.userFirstName.length === 0){
$scope.msg = "pls enter something";
}else{
$scope.msg = "Something Entered";
}
});
</script>
这里有什么问题?据我所知,如果第二个按预期工作,第一个应该工作。否则,两者都不应该起作用。
我想我还没有理解一些非常基本的东西。如果是这样,请描述一下我没有读过的内容。
谢谢..!
答案 0 :(得分:1)
问题是您只检查范围属性是否填写一次。 (当角度初始化控制器时会发生这种情况) 您需要做的是在html中添加ng-change,然后当模型更改时,函数将再次触发。
在该功能中,您再次执行逻辑。像这样:
var mainApp = angular.module("mainApp", []);
mainApp.controller('ExampleController', function ($scope) {
$scope.userFirstName = '';
$scope.checkContent = function(){
if($scope.userFirstName.length === 0 || typeof $scope.userFirstName === 'undefined'){
$scope.msg = "pls enter something";
}else{
$scope.msg = "Something Entered";
}
}
});
然后在你的HTML中:
<div ng-controller="ExampleController">
<input type="text" ng-change="checkContent()" ng-model="userFirstName" required/><br>
<p ng-bind="msg"></p>
</div>
答案 1 :(得分:1)
好吧,awk '/^foo/ || (/^bar/ && !(++c%4))' file
适用于数组。在这里,你没有$ cat a
foo1
bar1
bar2
bar3
foo2
foo3
bar4
bar5
bar6
bar7
bar8
bar9
$ awk '/^foo/ || (/^bar/ && !(++c%4))' a
foo1
foo2
foo3
bar4
bar8
类型的数组。
像
一样修改它.length
请在此处找到plunker:https://plnkr.co/edit/7gc3fj8apFJnE2wNJbQ7?p=preview
希望它可以帮到你!
答案 2 :(得分:0)
尝试使用此功能,创建功能并在Change事件
上调用它if(!$scope.userFirstName || $scope.userFirstName == null){
$scope.msg = "pls enter something";
}else{
$scope.msg = "Something Entered";
}
答案 3 :(得分:0)
var mainApp = angular.module("mainApp", []);
mainApp.controller('ExampleController', function ($scope) {
$scope.userFirstName = '';
$scope.checkContent = function(){
if($scope.userFirstName)//Check Empty Field
{
$scope.msg = "pls enter something";
}else{
$scope.msg = "Something Entered";
}
}
});