Я новичок в полимере, и я пытаюсь создать настраиваемую службу, которая принимает запрос и отправляет ответ. Тем не менее, я столкнулся с проблемой доступа к объекту ответа, хотя я вижу, что объект устанавливается на странице службы.Polymer 1.0 Связывание данных и доступ к объекту ответа ajax
Пожалуйста, смотрите код услуги: X-custom.html
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/iron-ajax/iron-ajax.html">
<dom-module id="x-custom">
<style>
</style>
<template>
<iron-ajax
id="ajax"
url=""
handle-as="json"
on-response="hresponse"
debounce-duration="300">
</iron-ajax>
</template>
<script>
Polymer({
is: 'x-custom',
\t properties: {
user: String,
responseData:{
type:Object,
notify:true
}
},
attached: function() {
this.$.ajax.url = "http://myapitesing/api/users/"+this.user;
this.$.ajax.generateRequest();
},
hresponse: function(request) {
// Make a copy of the loaded data
respObj = request.detail.response;
if(respObj){
//console.log(respObj);
this.responseData = respObj;
alert(respObj.email);
}
}
});
</script>
</dom-module>
Теперь посмотрим, что элемент доступа к сервису: пользовательский details.html
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="x-custom.html">
<dom-module id="user-details">
<style>
</style>
<template>
<x-custom user="6f299d3cb8214c079433d7bb98a4a5ed" responseData={{responseData}} ></x-custom>
<h1>{{responseData.email}}</h1>
</template>
<script>
Polymer({
is: 'user-details'
});
</script>
</dom-module>
Теперь я называю пользовательские данные элемента в моей idex.html следующим образом
<user-details></user-details>
Он успешно извлекает детали, однако, {{}} responseData.email не показывает строку электронной почты на странице user-details.html.
Если я попытаюсь получить одно и то же значение на странице x-custom.html, я могу увидеть значение responseData.email. (см. предупреждение в функции hresponse внутри x-custom.html)
Пожалуйста, помогите мне, и дайте мне знать, если я где-нибудь пропажу.
Проверьте это руководство по связыванию данных, возможно, вам нужно создать пользовательский элемент для передачи данных в атрибуте - https://www.youtube.com/watch?v=9rXJ5lJ5_TA – Tasos
Спасибо, но это учебник для полимера 0,5. Думаю, это не поможет. – RosAng