从AngularJS控制器设置嵌套对象值

时间:2016-07-22 09:36:44

标签: javascript angularjs object

我正在尝试从我的Angular Controller设置嵌套对象的值但是我一直收到以下错误:

Cannot read property 'field0' of undefined

我的控制器中的代码是:

$scope.obj = $scope.obj || {};

$scope.autosave = function(){
    $window.sessionStorage.setItem("experienceOne", $scope.obj.experience.field0);
}

知道我做错了什么吗?我确定它的东西很小,但我似乎无法弄明白。如何在嵌套对象中设置值。仅供参考,对象结构如下:

obj{
     name:"",
     experience:{
        field0:"",
        field1:"",
        field2:""
    }
 }

2 个答案:

答案 0 :(得分:0)

您没有在默认分支中设置experience属性。所以obj.experience.something会因为experience未定义而抛出。它应该是

$scope.obj = $scope.obj || {experience: {}}

答案 1 :(得分:0)

您可以使用以下内容设置嵌套对象的属性:

obj.experience.field03 = "aa";