2015-09-17 30 views
3

我使用角度形式创建输入屏幕,并且所有工作都很好,只要我有一个KEY对于每个VALUE。 但我有一个情况,其中的值是一个数组在其中的对象。这是一个行业标准,所以我不能更改 字段结构。 父密钥是地理编码其值为施工坐标系(这是与2元件阵列) 我想编辑的那些2个元素(经度和纬度)。这是可行的还是形式上需要KEY:VALUE来创建和输入,这将允许编辑这些值。以角度形式编辑数组元素

/* - JSON数据 - */
[ “全名”: “格伦·本森”,

/*这是我想编辑objext坐标元素*/**

"geolocation": { 
    "coordinates": [ 
     -94.467136, 
     39.090707 
    ], 
    "type": "Point" 
    } 

** ]

/* - FORMLY CONTROLLER片段 - */{ “键”: “全名”, “类型”: “输入”, “templateOptions”:{ “类型”: “文本”, “占位符”: “全名” } },

**{ 
    "key": "geocode.coordinates[0]", 
    "type": "input", 
    "templateOptions": { 
     "type": "text", 
     "placeholder": "geocode" 
    } 
}**  
+0

我的意思是,你总是可以解析结构,并将其转换为自己的结构是扁平的键/值对formly,然后将其转换回提交回服务器之前。 –

+0

不知道你的'“键是什么问题:”geocode.coordinates [0]“'是不工作?请使用以下网址创建示例:http://help.angular-formly.com – kentcdodds

+0

对您的任何更新问题? – atx

回答

0

你可以得到的值而不不得不命名它一些疯狂的事情。它应该如何工作,但我的意思是,我的上帝,这是丑陋的。

刚才设置的默认值,以地理位置的价值....

key: 'CoordinateX', 
defaultValue: 'model.geocode.geolocation.coordinates[0]' 

或将其添加控制器得到它

key: 'CoordinateX', 
controller: function($scope) { 
$scope.model.CoordinateX = $scope.model.geocode.geolocation.coordinates[0]; 
} 

那么你可以简单地使用CoordinateX或任何其他你想要命名它。