在以下代码中,保存数据后,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/
答案 0 :(得分:1)
对我来说,似乎很好
http://jsfiddle.net/U3pVM/15248/ JSFiddle
在输入框中填写一些值后,代码工作正常。 第一次用户是一个空字符串,因此user.name将是未定义的。
是的,声明对象的正确方法是
$scope.name = {};
不是
$scope.name="";
答案 1 :(得分:0)
我连接了一个快速的jsFiddle,看起来很好:http://jsfiddle.net/tfqytchk/
当然,第一次按保存用户是一个emptry字符串,而user.name是未定义的(我认为这就是你要报告的内容)。如果您希望更改该行为,请将$scope.user = '';
更改为$scope.user = { name: '' };
答案 2 :(得分:0)
不要声明像这样的对象
$scope.user= '';
声明像
这样的对象 $scope.user= {};