2016-08-02 10 views
0

私は新しい要素を作成しようとしていますが、Iron-ajaxを使用して要素の外側からデータをバインドしたいと考えています。私はiron-ajaxの値を同じレベルの要素に渡すにはどうすればよいですか?

<iron-ajax ... last-response="{{myval}}"></iron-ajax> <my-elem values="{{myval}}"></my-elem>

私の問題があるようなものをやった(そしてそれは、数時間(日数をされている?)私は、問題/解決策を見つけようとしている)場合でも、私の要素が{{myval}}(文字列を取得しているIプロパティタイプをObjectに設定してください) 私はiron-ajaxから取得するjsonの内容の代わりに、私は今かなり失われています。 the demo code is herethe code of my element is here私の問題は実際にデモであり、要素ではないと思われます。

私はpolycast 26でこのやり方を見てきましたが、違いはRobが要素内でそれをやっていることです。私の要素はデータを取得する必要がありません(要素はそれをダウンロードする責任がありません)。

誰かにアドバイスがありますか?

PS:値とは違う名前を付けようとしましたが、何も変更されませんでした。また、関数名を別のものに変更しようとしましたが、これは問題ではありません。

答えて

0

要素間のデータバインディングは、Polymer要素のローカルDOMまたはこの目的のために作成された特別なdom-bind template element内でのみ機能します。

あなたのコード例:

<demo-snippet> 
    <template> 
    <iron-ajax auto url="/demo/d1.json" handle-as="json" last-response="{{myval}}"></iron-ajax> 
    <d3spark-element yleg="Watt" ymax="2000" values="{{myval}}"></d3spark-element> 
    </template> 
</demo-snippet> 

はとしてのみ動作するはずは:

<template is="dom-bind"> 
    <iron-ajax last-response="{{myval}}"... 
    <d3spark-element values="[[myval]]"... 
</template> 

私はあなたがdemo-snippet以内に「コンテンツ」ノードを供給し、それらの間で動作するようにデータバインディングを期待することができるとは思いません。

+0

それだった、ありがとう。それは、私は "魔法のように"動作するとは予想していませんでしたが、私はdom-bindが[唯一の期待された](https://www.polymer-project.org/1.0/docs/devguide/templates#dom-バインド)することができます。 [demo-snippet](https://elements.polymer-project.org/elements/iron-demo-helpers)**は要素なので、なぜバインディングを明示的に行うべきですか? – potens

+0

実際、それは要素があまりにもうまく動作するようにします。ドームバインドを追加すると、テンプレート内のすべてが倍増します... – potens

+0

amurdockのおかげで、解決策が見つかりました。デモスニペットの直後にテンプレート上に表示されますが、別のテンプレートで表示されます。 – potens

関連する問題