2017-07-25 69 views
1

值假設我有一個這樣的對象綁定對象元素:是否有可能根據可變的在angularjs

var myObj = { 
    item1:{}, 
    item2:{}, 
    item3:{}, 
    ... 
}; 

我也有另一個變量(例如:itemHolder),可以得到值如item1item2等。

我想綁定我的視圖中的對象元素。有沒有什麼辦法根據我的變量的值來綁定它?象下面這樣的解決方案:

{{myObj.[itemHolder]}} 
+2

是的,只是刪除。從上面的表達,它將工作 – Vivz

+1

感謝您的評論。 :) –

回答

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>

+0

謝謝,沒關係。我真的覺得自己很愚蠢!我已經使用過很多次了,但是......大聲笑! –