1
内の変数の値に応じて、オブジェクトの要素をバインドすることは可能ですitem1
、item2
などとなります。は、私はこのようなオブジェクトがあるとしangularjs
私のビューにオブジェクト要素をバインドしたいと思います。私の変数の価値に応じてバインドする方法はありますか?以下のような解決策:両方の変数があなたのスコープに宣言されていると仮定すると
{{myObj.[itemHolder]}}
内の変数の値に応じて、オブジェクトの要素をバインドすることは可能ですitem1
、item2
などとなります。は、私はこのようなオブジェクトがあるとしangularjs
私のビューにオブジェクト要素をバインドしたいと思います。私の変数の価値に応じてバインドする方法はありますか?以下のような解決策:両方の変数があなたのスコープに宣言されていると仮定すると
{{myObj.[itemHolder]}}
、はい、あなたはそうのような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>
ありがとうございました。私は本当に愚かな気がした!私はすでに何度も使用していますが...笑! –
はい、削除してください。上の式からそれは動作します – Vivz
あなたのコメントありがとう。 :) –