2015-09-16 61 views
1

是否有任何方法通过对象关键字动态地从对象列表中读取对象? 我复杂的对象是一样的东西:Angular JS:使用对象列表中的动态对象名称

$scope.mainObject = { 
    name : "Some value", 
    desc : "Some desc", 
    key1: { 
     arrayLst: [] 
    }, 
    key2: { 
     arrayLst: [] 
    } 
} 

在我的方法,我有钥匙值或者在一个字符串keyValuekey1key2。我为什么能写入对象,如:

$scope.mainObject.key1.arrayLst = data; 

在类似的形式:

$scope.mainObject.get(keyValue).arrayLst = data; 
+0

使用括号语法,即'$ scope.mainObject [的keyValue] .arrayLst' – Claies

回答

1

嘛,有什么东西被称为JavaScript对象数组符号。更多关于它here

你可以写这样的:

$scope.mainObject.[keyValue].arrayLst = data; 
+0

这就是所谓的括号标记;即使它使用相同的字符'[]',但并不意味着数据是一个数组。 – Claies

+0

嗯,我没有说它是一个数组..因为访问数据的方法与数组非常相似,所以术语是这样的。 –

+0

OP甚至可以使用'$ scope.mainObject [“key1.arrayLst [] “]'即方括号表示法 – Vineet