假设我有一个这样的对象:
var myObj = {
item1:{},
item2:{},
item3:{},
...
};
我还有另一个变量(例如:itemHolder
)可以获得item1
,item2
等值。
我想在视图中绑定对象元素。有没有办法根据我的变量值绑定它?解决方案如下:
{{myObj.[itemHolder]}}
答案 0 :(得分:2)
假设两个变量都在您的作用域上声明,是的,您可以使用javascript括号表示法来执行此操作:
$scope.myObj = {
item1: {},
item2: {},
item3: {},
...
};
$scope.itemHolder = 'item1';
然后你可以插入如下的值:
{{ myObj[itemHolder] }} // {}
工作片段:
angular.module('myApp', [])
.controller('AppController', function($scope) {
$scope.myObj = {
item1: { a: 1 },
item2: { b: 2 },
item3: { c: 3 }
};
$scope.itemHolder = 'item1';
});
<div ng-app="myApp" ng-controller="AppController">
Type the prop name<br>
<input type="text" ng-model="itemHolder"><br>
{{ myObj[itemHolder] }}
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.js"></script>