2017-02-18 8 views
4

私は要素のプロパティとして配列を送るために開発しています。要素のプロパティとして配列を渡す方法は?

ファイル形式-するlist.html ので

<dom-module id="form-list"> 
 
    <template> 
 
    <div>{{title}} - {{owner}} </div> 
 
    <form> 
 
     <template is="dom-repeat" items="{{inputAndLabel}}"> 
 
      <div><label>{{item.tag}} {{owner}}</label><input type="{{item.type}}" value="{{item.defaultValue}}"></div> 
 
     </template> 
 
    </form> 
 
    </template> 
 

 
    <script> 
 
    Polymer({ 
 
     is: 'form-list', 
 
     properties: { 
 
     owner: { 
 
      value:"Mechanical", 
 
     }, 
 
     inputAndLabel: { 
 
      type: Array, 
 
      value: function() { return []; } 
 
     } 
 
     }, 
 
     ready: function() { 
 
     this.title = 'Formulario: Usuario'; 
 
     } 
 
    }); 
 
    </script> 
 
</dom-module>

、要素を使用すると、動作していないinputAndLabelのpropertie(それは配列の)が、所有者の財産作品を渡す(これは文字列です)。

<form-list inputAndLabel="[ 
     {defaultValue: '', type:'text', tag: 'Nombre' }, 
     {defaultValue: '', type:'text', tag: 'Apellido' }, 
     {defaultValue: '', type:'text', tag: 'Email' }, 
     {defaultValue: '', type:'text', tag: 'Dirección' }]" owner="Eternal"> 
</form-list> 

カスタムエレメントのプロパティとして配列を送信するにはどうすればよいですか?要素を使用して、厳密なJSON表記を尊重し、それを属性として

おかげ

答えて

3

polymer documentationによれば、あなたは配列を渡すことができます。あなたは、JSON形式でオブジェクトまたは配列を渡すことができ、オブジェクトおよび配列特性について

<my-element book='{ "title": "Persuasion", "author": "Austen" }'></my-element>

注上記のようにJSONは、二重引用符を必要とすること。

<form-list input-and-label='[ 
     {"defaultValue": "", "type":"text", "tag": "Nombre" }, 
     {"defaultValue": "", "type":"text", "tag": "Apellido" }, 
     {"defaultValue": "", "type":"text", "tag": "Email" }, 
     {"defaultValue": "", "type":"text", "tag": "Dirección" }]' owner="Eternal"> 
</form-list> 

inputAndLabelプロパティのcorresponding attributeinput-and-label書かれていることに注意してください。

+0

ありがとうございました。それは私のために働いた。 –

+0

Supersharp、いくつかの理由 、 Iは最初 を割り当てる「[{ "はdefaultValue": ""、 "タイプ": "テキスト"、 "タグ": "ノンブル"}、 { "はdefaultValue": ""、 "default"、 "type": "text"、 "text"、 "tag": "Apellido"}、 {"defaultValue": ""、 "type": " "、" type ":" text "、" tag ":"Dirección "}] ' を変数strに変換すると、 、 を使用できません。 '[{...}、...、{...}]をインラインにする必要がありますか? – hjyanghj

+1

@hjyanghjはい。 htmlコードで変数を設定することはできません。回避策として、setAttribute()を使用してJavascriptで割り当てることができます。 – Supersharp

関連する問題