3

我正在使用 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"
   }
}**    
4

1 回答 1

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 或任何你想命名的东西。

于 2017-03-22T16:26:34.323 回答