Angularjs 以角js表示的字符串长度

Angularjs 以角js表示的字符串长度,angularjs,Angularjs,我正在检查字符串的长度,但它不起作用,有人能帮我找出我做错了什么吗 HTML是 <div ng-app="myApp" ng-controller="formCtrl"> <form novalidate> First Name:<br> <input type="text" ng-model="user.firstName"><br> <button ng-click="check()">RESET</button

我正在检查字符串的长度,但它不起作用,有人能帮我找出我做错了什么吗

HTML是

<div ng-app="myApp" ng-controller="formCtrl"> 
<form novalidate> First Name:<br> <input type="text" ng-model="user.firstName"><br>
<button ng-click="check()">RESET</button> 
</form> <p>form = {{user}}</p> </div> 

名字:

重置 form={{user}}

JS是

var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {

    $scope.check = function() {
        var arr = $scope.user;
        if (arr.length<=3){
            $scope.user="enjoy"
        }

    };
    $scope.check();
});
var-app=angular.module('myApp',[]);
应用程序控制器('formCtrl',函数($scope){
$scope.check=函数(){
var arr=$scope.user;

如果(arr.length您尚未在控制器中声明
$scope.user
,并调用
check()
函数。这样做将使您

TypeError:无法读取未定义的属性“length”

因此,您需要将
$scope.user
声明为

$scope.user= {
  firstName : ''
};
HTML


名字:

重置 form={{user}}

所以你的控制器变成这样

angular.module('myApp',[]).controller('formCtrl', function($scope){
   $scope.user= {
     firstName : ''
   };

  $scope.check = function() {
    var arr = $scope.user.firstName;
    if (arr.length<=3){
        $scope.user.firstName="enjoy"
    }

  };
  $scope.check();
})
angular.module('myApp',[]).controller('formCtrl',function($scope){
$scope.user={
名字:“”
};
$scope.check=函数(){
var arr=$scope.user.firstName;

如果(arr.length)定义“不工作”。$scope.user从何而来?你如何获得你在任何地方都没有定义的内容的长度?我已经尝试过了,但它不起作用检查我的答案,现在它完全按照你的预期工作。由于你没有添加HTML,我误解了$scope,user是一个变量,而它是一个JSON对象。不要说“它不起作用”描述行为并解释它与您预期的不同之处。如果没有进一步的信息,问题将以“不清楚”结束。您的意思是什么。发布您的HTML。名字:

重置表单={{user}

现在检查我的答案,它完全按照您的预期工作。由于您没有添加HTML,我误解了$scope,用户作为变量,它是一个JSON对象。请您标记它并对其进行投票,以便其他人知道它确实帮助了您,并始终记住在AngulaJS中正确处理变量值。通常我们倾向于使用sill我犯了很多错误。
angular.module('myApp',[]).controller('formCtrl', function($scope){
   $scope.user= {
     firstName : ''
   };

  $scope.check = function() {
    var arr = $scope.user.firstName;
    if (arr.length<=3){
        $scope.user.firstName="enjoy"
    }

  };
  $scope.check();
})