聚合物休息 Api 不工作
Polymer Rest Api not working
i am using web component iron ajax to make REST api call following this tutorial http://frontendinsights.com/polymer-rest-api-using-iron-ajax/
我正在获取此数据并使用 predix 数据 table 进行存储,以使用数据 table https://www.predix-ui.com/#/components/px-data-table/ 在 ui 上显示从 api 获取的数据,它基本上接受数据JSON格式。
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/iron-ajax/iron-
ajax.html">
<link rel="import" href="../../bower_components/px-data-table/px-data-
table.html">
<dom-module id="show-repositories">
<template>
<px-data-table
table-data="{{githubrepository}}"
language="en"
sortable>
<px-data-table-column name="repository"></px-data-table-column>
<px-data-table-column name="id" label="id"></px-data-table-column>
</px-data-table>
Repositories:
<span>{{githubrepository}}</span>
<span>{{repos}}</span>
<iron-ajax
id="requestRepos"
url="https://api.github.com/users/burczu/repos"
params='{"type":"all"}'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
</template>
<script>
Polymer({
is: 'show-repositories',
properties: {
repos: {
type: Array
},
githubrepository:{
type: Array
}
},
ready: function () {
this.$.requestRepos.generateRequest();
},
handleResponse: function (data) {
this.repos = data.detail.response;
for (var i = 0; i < this.repos.length; i++) {
this.githubrepository[i] = {"id":this.repos[i].id,"name":this.repos[i].name}
}
console.log(this.repos);
console.log(this.githubrepository);
}
});
</script>
两个控制台日志都显示数据是 json 格式,但是当我使用 {{repos}} 时它显示其中包含的数据但是当我使用 {{githubrepository}} 时它不显示数据,即使我无法使用 prredix webcomponent 打印数据。
我不知道这里出了什么问题?
改变你的js。
handleResponse: function (data) {
this.repos = data.detail.response;
var githubrepository = [];
for (var i = 0; i < this.repos.length; i++) {
githubrepository[i] = {"id":this.repos[i].id,"name":this.repos[i].name}
}
this.githubrepository = githubrepository;
console.log(this.repos);
console.log(this.githubrepository);
}
<link rel="import" href="../../bower_components/polymer/polymer.html">
<link rel="import" href="../../bower_components/iron-ajax/iron-
ajax.html">
<link rel="import" href="../../bower_components/px-data-table/px-data-
table.html">
<dom-module id="show-repositories">
<template>
<px-data-table
table-data="{{githubrepository}}"
language="en"
sortable>
<px-data-table-column name="repository"></px-data-table-column>
<px-data-table-column name="id" label="id"></px-data-table-column>
</px-data-table>
Repositories:
<span>{{githubrepository}}</span>
<span>{{repos}}</span>
<iron-ajax
id="requestRepos"
url="https://api.github.com/users/burczu/repos"
params='{"type":"all"}'
handle-as="json"
on-response="handleResponse">
</iron-ajax>
</template>
<script>
Polymer({
is: 'show-repositories',
properties: {
repos: {
type: Array
},
githubrepository:{
type: Array
}
},
ready: function () {
this.$.requestRepos.generateRequest();
},
handleResponse: function (data) {
this.repos = data.detail.response;
for (var i = 0; i < this.repos.length; i++) {
this.githubrepository[i] = {"id":this.repos[i].id,"name":this.repos[i].name}
}
console.log(this.repos);
console.log(this.githubrepository);
}
});
</script>
两个控制台日志都显示数据是 json 格式,但是当我使用 {{repos}} 时它显示其中包含的数据但是当我使用 {{githubrepository}} 时它不显示数据,即使我无法使用 prredix webcomponent 打印数据。 我不知道这里出了什么问题?
改变你的js。
handleResponse: function (data) {
this.repos = data.detail.response;
var githubrepository = [];
for (var i = 0; i < this.repos.length; i++) {
githubrepository[i] = {"id":this.repos[i].id,"name":this.repos[i].name}
}
this.githubrepository = githubrepository;
console.log(this.repos);
console.log(this.githubrepository);
}