私はPolymerで何かしようとしています。 私は要素があります。サーバーからデータを取得し、ポリマー要素で使用します。
<dom-module id="internal-content">
<template>
<style is="custom-style" include="iron-flex iron-flex-alignment iron-positioning"></style>
<style>
internal-menu{
width: 20%;
height: 100%;
}
internal-associates, internal-networks, internal-letter, internal-help{
width: 80%;
height: 100%;
}
</style>
<div class="horizontal center layout">
<internal-menu></internal-menu>
<internal-associates id="internal-associates" data="{{userData.associates}}"></internal-associates>
<internal-networks id="internal-networks" data="{{userData.socialNetworks}}" style="display: none"></internal-networks>
<internal-letter id="internal-letter" data="{{userData.farewellLetter}}" style="display: none"></internal-letter>
<internal-help id="internal-help" style="display: none"></internal-help>
</div>
<paper-toast-error id="errorInServer"
text="Ha habido un problema en servidor al acceder a sus datos. Por favor, vuelva a intentarlo. Si el error persiste póngase en contacto con nosotros
a través del email [email protected]">
</paper-toast-error>
</template>
<script>
(function() {
'use strict';
Polymer({
is: 'internal-content',
properties: {
userData: {
type: Object
}
},
ready: function(){
$.ajax({
type: "GET",
url: "/getUserData",
data: {firebaseID: document.querySelector('#firebaseLogin').user.uid},
error: function(xhr, ajaxOptions, thrownError){
document.querySelector('#errorInServer').openToast();
},
success: function(msg) {
this.userData = msg;
// return msg;
}
});
}
});
})();
私が何をしたいのかがために、AJAX呼び出しで取得したデータを持つ要素内部の仲間、内部ネットワークと内部の文字をレンダリングですこのエレメント内のdom-repeatテンプレートを使用して、データ内の配列をレンダリングします。
私がここで添付するコードの問題は、データが取得される前にDOMに要素が登録されていることです。
必要に応じて、私は情報を添付したり提供したりすることができます。
よろしくお願いいたします。
'ajax'呼び出しに[iron-ajax](https://elements.polymer-project.org/elements/iron-ajax)を使用するか、' firebase'を使用している場合は[firebase-コレクション](https://elements.polymer-project.org/elements/firebase-element)。 – a1626
最初の 'style'タグの' include'は動作していますか? – a1626
データを提供する前に要素を登録することは、Polymerでは問題になることはありません。あなたの実際の問題は 'this.userData'であると思われます。ここでは' this'はあなたの要素を表現していないようです。あなたの 'success'関数の中に' this'を記録することでこれを確認できます。 – a1626