javascript - 带有属性的 $scope 表示未定义

标签 javascript angularjs angularjs-scope

我的 Controller

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 控制台返回未定义。

enter image description here

最佳答案

对象没有长度属性。 使用 Object.keys 长度代替

Object.keys($scope.user).length;

关于javascript - 带有属性的 $scope 表示未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39654346/

相关文章:

AngularJS 嵌套路由

javascript - 如何在 AngularJS 中的不同 Controller 中设置变量?

用于检测进程花费时间的 JavaScript 代码

javascript - jQuery 特定事件触发器

javascript - 带有 UpgradeModule Controller 的 Angular 混合应用程序

jquery - Angular : Scroll to top on click with jquery animate

javascript - angularjs - 将公共(public)属性从一个对象复制到另一个对象

javascript - 如何限制用户在 ui-ace 编辑器中只写一个 javascript 函数(方法)

javascript - 如何在ajax post中接收ajax回调

javascript - 如何获取图像的高度并将其父高度设置为自动?