我有一個對象數組($scope.fields
),它定義瞭如何爲$scope.data
對象模型設置輸入字段。 fieldName屬性實際上是該字段的data
對象中的路徑。嵌套對象由句號分隔。動態引用一個嵌套的Javascript對象
如:
$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}
]
什麼是在HTML結合基礎上的字段名的$ scope.data領域的最佳途徑。我知道JavaScript的eval - 但這是做到這一點的最佳方式?爲什麼這個語法不適合我?
即:
<div ng-repeat="fieldObj in fields">
<dd ng-bind="eval('data.' fieldObj.fieldName)"></dd>
</div>
參見[訪問嵌套JavaScript和串鍵對象( http://stackoverflow.com/q/6491463/218196)...但我不知道如何可以與Angular集成。 *「爲什麼這個語法不適合我」*推測你不能在'ng-bind'中放入任意表達式。 –
所以技術上我可以ng綁定到一個函數,將返回正確的綁定 - 感謝您的幫助菲利克斯國王。我現在要測試它。 – Andy59469