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"
 }

私の正式な構成:

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

JSBINはこちら

前もって感謝します。

4

2 に答える 2

2

問題は、ネストされたキーが angular-formlyでどのように機能するかです。基本的には、 を持つ要素でのみ機能しますng-model。回避model策は、ネストされたキーではなく、プロパティを使用することです(このように):

{
  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'
  }
}

幸運を!

于 2015-11-06T14:35:11.057 に答える
-1
profile.name.firstname - > profile[name][firstname]

それは私の想像です。私はAngularを使ったことがありません

于 2015-11-06T13:22:21.457 に答える