2015-11-06 54 views
1

嵌套属性键在默认类型下工作正常。但它不适用于下面的自定义模板。为什么?嵌套属性键不能与定制模板一起工作

这里是我的领域:

vm.fields = [ 
     { 
     type: 'editableInput', 
     key: 'profile.name.firstname', 
     templateOptions: { 
      label: 'First Name' 
     } 
     }, 
    { 
     type: 'editableInput', 
     key: 'profile.name.lastname', 
     templateOptions: { 
      label: 'Last Name' 
     } 
     } 
    ]; 

我期待什么:

{ 
    "profile": { 
    "name": { 
     "firstname": "rajagopal", 
     "lastname": "subramanian" 
    } 
} 

但是,这是我所得到的:

{ 
    "profile.name.firstname": "rajagopal", 
    "profile.name.lastname": "subramanian" 
} 

我Formly配置:

formlyConfig.setType({ 
     extends: 'input', 
     template: '<div><span editable-text="model[options.key]" e-name="{{::id}}"}}">{{ model[options.key] || "empty" }}</span></div>', 
     name: 'editableInput' 
    }); 

这里是JSBIN

在此先感谢。

+0

除了结构之外,这两个相同吗? – isherwood

+0

yaa可能。我只想用自定义模板来实现这个http://angular-formly.com/#/example/advanced/nested-property-keys。 – rajagopalx

回答

2

的问题是与how nested keys work与角formly。基本上它只适用于具有ng-model的元素。为你的解决办法是使用model财产,而不是嵌套键(如this):

{ 
    type: 'editableInput', 
    model: 'model.profile.name', 
    key: 'firstname', 
    templateOptions: { 
    label: 'First Name', 
    placeholder: 'Enter your First Name' 
    } 
}, 
{ 
    type: 'editableInput', 
    model: 'model.profile.name', 
    key: 'lastname', 
    templateOptions: { 
    label: 'Last Name', 
    placeholder: 'Enter your First Name' 
    } 
} 

祝你好运!

+0

非常感谢。 – rajagopalx

-1
profile.name.firstname - > profile[name][firstname] 

这是我imagine.I从未使用过角