我的控制器
App.controller('Ctrl', ['$scope', function ($scope) {
$scope.user = {};
$scope.view = function () {
console.log($scope.user);
console.log($scope.user.length);
}]);
我的HTML
<input type="text" ng-model="user.lastname" />
<input type="email" ng-model="user.email" />
<input type="text" ng-model="user.address" />
<input type="email" ng-model="user.id" />
<input type="text" ng-model="user.city" />
<input type="email" ng-model="user.country" /> ---> This will be a select
没有字段是强制性的,我必须根据用户输入执行搜索功能。我必须验证用户必须提供至少一个数据的一件事。当我把控制台放在上面时,我可以在第一个看到值,而.length控制台返回undefined。
答案 0 :(得分:1)
对象没有长度属性。 请改用Object.keys长度
Object.keys($scope.user).length;
答案 1 :(得分:0)
您必须首先通过调用setToLibrary()
函数为模型分配初始值。在这个函数中,首先为所有模型设置初始值,否则你将得到这个未定义的错误
答案 2 :(得分:0)
您正在尝试获取对象的长度。对象没有长度属性。但是,您可以使用Object.key()获取对象长度。在这里检查细节。
答案 3 :(得分:0)
您的输入类型为"email"
。
在您传递有效的电子邮件之前,该值将为not be assigned
。
仅为电子邮件字段制作类型电子邮件,让其余为文本。
获得长度:
Object.keys($scope.user).length;
答案 4 :(得分:0)
$scope.user
是一个object.Objects没有属性。
如果要获取对象的属性数,则必须使用Object.keys(object).length
函数来获取对象属性的长度。
答案 5 :(得分:0)
这是你想要实现的工作fiddle。
此外,您无法直接调用对象上的
.length
。如果你想 要获取对象中的属性数,请尝试此SO Question。