我是聚合物的新手,我試圖創建一個接受請求併發迴響應的自定義服務。但是,即使我可以看到服務頁面中正在設置對象,我仍然面臨訪問響應對象的問題。聚合物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值。 (請參閱x-custom.html中的hresponse函數中的警報)
請幫助我,並讓我知道如果我在某處失蹤。
檢查這個數據綁定教程,也許你需要創建一個自定義元素來傳遞屬性中的數據 - https://www.youtube.com/watch?v=9rXJ5lJ5_TA – Tasos
謝謝,但這是一個聚合物教程0.5。我想它不會有太大的幫助。 – RosAng