使用$ scope变量的值指定属性

时间:2019-06-18 19:59:10

标签: javascript angularjs

比方说,我有一个$ 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变量上指定对象属性?

1 个答案:

答案 0 :(得分:2)

它不特定于AngularJS,但是您应该能够通过变量访问对象属性,例如:$scope.selectedColor = $scope.vegetableProperties[$scope.selectedVegetable].color;

Javascript use variable as object name