比方说,我有一个$ scope变量,可以像这样存储蔬菜:
$scope.selectedVegetable = 'carrot';
我还有一个对象,其中包含蔬菜的属性,如下所示:
$scope.vegetableProperties = {
carrot: {
color: 'orange',
tastiness: 3
},
onion: {
color: white,
tastiness: 1
}
};
现在,让我们说我想使用$scope.selectedVegetable
的值来帮助我在要查找的$scope.vegetableProperties
中指定对象/属性。
我想做的是...
$scope.selectedColor = $scope.vegetableProperties.$scope.selectedVegetable.color;
...而不是像下面这样显式指定蔬菜:
$scope.selectedColor = $scope.vegetableProperties.carrot.color;
,并且期望值为orange
,但这不起作用。
基本上,是否可以使用一个$ scope变量的值在另一个$ scope变量上指定对象属性?
答案 0 :(得分:2)
它不特定于AngularJS,但是您应该能够通过变量访问对象属性,例如:$scope.selectedColor = $scope.vegetableProperties[$scope.selectedVegetable].color;