オブジェクト モデル$scope.fields
の入力フィールドの設定方法を定義するオブジェクトの配列 ( ) があります。$scope.data
fieldName プロパティは、実際にはdata
オブジェクト内のフィールドへのパスです。ネストされたオブジェクトは、ピリオド マークで区切られます。
例えば:
$scope.data = {
user: {
}
}
$scope.fields = [
{fieldName:'user.firstName',fieldLabel:'First Name',dsiabled:false}
{fieldName:'user.location.lat',fieldLabel:'Latitude',dsiabled:false}
{fieldName:'user.location.long',fieldLabel:'Latitude',dsiabled:false}
]
fieldName に基づいて $scope.data フィールドをバインドするための HTML での最良の方法は何ですか。私はjavascript evalを知っていますが、それが最善の方法ですか? そして、なぜこの構文が機能しないのですか?
すなわち:
<div ng-repeat="fieldObj in fields">
<dd ng-bind="eval('data.' fieldObj.fieldName)"></dd>
</div>