2015-09-17 57 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或任何其他你想要命名它。