用角度形式编辑数组元素

时间:2015-09-17 20:19:28

标签: angularjs angular-formly

我使用角度形式来创建输入屏幕,只要我对每个 VALUE 都有 KEY ,所有工作都很棒。

但是我的情况是值是一个带有数组的对象。这是一个行业标准,所以我无法改变 场结构。

父键是 GEOCODE ,其值为 COORDINATES (这是一个 2个元素的数组

我想编辑这两个元素(经度和纬度)。这是可行还是形式上需要KEY:VALUE来创建和输入,这将允许编辑这些值。

/* -- JSON DATA -- */       
[ 
  "fullname": "Glen Benson",

  /* this is the objext I am trying to edit coordinates elements */
  **

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

**
] 

/* -- FORMLY CONTROLLER SNIPPET --*/
{
   "key": "fullname",
   "type": "input",
   "templateOptions": {
      "type": "text",
      "placeholder": "fullname"
   }
},

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

1 个答案:

答案 0 :(得分:0)

你可以获得价值,而不必将其命名为疯狂的东西。你应该如何拥有它,但我的意思是,我的上帝,这是丑陋的。

只需将defaultValue设置为geolocation ....

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

或者在其上添加一个控制器来获取它

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

然后你可以简单地使用CoordinateX或其他任何你想要命名的东西。