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

标签 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 变量上的对象属性?

最佳答案

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

Javascript use variable as object name

关于javascript - 使用 $scope 变量的值来指定属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56656237/

相关文章:

javascript - 访问 Node.js 中函数范围之外的 http 请求对象

javascript - Durandal 激活函数内部的 .datepicker 调用不起作用

javascript - 计算使用 API 观看的 YouTube 视频的百分比

angularjs - 提交消息中的 "CL"是什么意思?它代表什么?

asp.net - 使用本地 IIS 在同一端口托管 Angular JS 和 Web API 2

javascript - 使用 next() 填写时显示下一个输入字段

javascript - 传单弹出关闭按钮

javascript - 从顶部添加条目到待办事项列表 Angular

javascript - ui 网格过滤器中的 $watchCollection

angularjs - 是否可以在运行时动态切换 AngularJS 的国际化语言?