我有一个对象数组($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