繁体   English   中英

AngularJS控制器对象未定义

[英]AngularJS controllers object is undefined

在以下代码中,保存数据后, console.log(user)返回undefined 怎么了

<input type="text" class="form-control" id="inputEmail" placeholder="Name" ng-model="user.name">
<a class="btn btn-link pull-right" ng-click="save(user)">Save</a> 

控制器:

LControllers.controller( 'InstanceCtrl', ['$scope', 'Instance', 'User',
function ($scope, Instance , User) {
    $scope.user= '';
    $scope.save = function (user) {
        console.log(user)// undefined
        console.log(user.name)       
    };

JSFiddle: http : //jsfiddle.net/U3pVM/15248/

对我来说,这似乎很好

http://jsfiddle.net/U3pVM/15248/ JSFiddle

在输入框中填充一些值后,代码可以正常工作。 第一次用户是一个空字符串,因此user.name将是未定义的。

是的,声明对象的正确方法是

$scope.name = {};

$scope.name="";

我连接了一个快速的jsFiddle,看起来很好: http : //jsfiddle.net/tfqytchk/

当然,第一次按下保存用户是一个空字符串,并且user.name是未定义的(我认为这就是您要报告的内容)。 如果您想更改该行为,请更改$scope.user = ''; $scope.user = { name: '' };

不要这样声明对象

      $scope.user= '';

像这样声明对象

      $scope.user= {};

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM