如何将javascript代码结果返回到聚合自定义元素';s<;模板>;? 解决了的
我接受了@akc42在下面发布的答案,并添加了如何将javascript代码结果返回到聚合自定义元素';s<;模板>;? 解决了的,javascript,polymer,polymer-1.0,shadow-dom,custom-element,Javascript,Polymer,Polymer 1.0,Shadow Dom,Custom Element,我接受了@akc42在下面发布的答案,并添加了var self=this在getViews函数定义之前,将this更改为self(并将self添加到ytr中,类似于100/self.ytr) /解决 我正在尝试从我的youtube频道获取浏览量。我所要做的就是将计算结果返回到和 我有以下代码: <template> ... <div> <p id="views" style=
var self=this代码>在getViews
函数定义之前,将this
更改为self
(并将self
添加到ytr
中,类似于100/self.ytr
)
/解决
我正在尝试从我的youtube频道获取浏览量。我所要做的就是将计算结果返回到
和
我有以下代码:
<template>
...
<div>
<p id="views" style="display:inline; ">100/Amount of views:</p>
<p id="youtubeRequest" style="display:inline">Amount of views:</p>
</div>
...
</template>
<script>
Polymer({
is: 'my-view1',
ready: function()
{
function getViews(params) {
$.ajax({
url: "https://www.googleapis.com/youtube/v3/channels?part=statistics&key=MyAPIkeyHere",
jsonp: "callback",
dataType: "jsonp",
success: function(response) {
this.ytr = this.$.youtubeRequest.innerHTML = response.items[0].statistics.viewCount;
var ytr2 = this.$.views.innerHTML = 100 / ytr;
this.ytr3 = ytr2.toPrecision(1);
},
});
}
getViews()
}
</script>
</dom-module>
...
100/视图数量:
视图数量:
...
聚合物({
是:‘我的视图1’,
就绪:函数()
{
函数GetView(参数){
$.ajax({
url:“https://www.googleapis.com/youtube/v3/channels?part=statistics&key=MyAPIkeyHere",
jsonp:“回调”,
数据类型:“jsonp”,
成功:功能(响应){
this.ytr=this.$.youtubeRequest.innerHTML=response.items[0].statistics.viewCount;
var ytr2=this.$.views.innerHTML=100/ytr;
this.ytr3=ytr2.toPrecision(1);
},
});
}
getViews()
}
我使用的是this.$.id
而不是document.getElementById(“youtubeRequest”)
,因为它只用于访问聚合元素之外的项目
我需要将计算值绑定到相应的
标记上面的代码显示一个结束
,但不是开始。您正在尝试定义聚合元素吗
如果是这样的话,您可以使用数据绑定。您也可以使用来进行ajax调用,但是让我们先让其他部分工作。类似这样的事情
<dom-module id="my-view1">
<template>
...
<div>
<p id="views" style="display:inline; ">Amount of views: [[ytr]]</p>
<p id="youtubeRequest" style="display:inline">[[ytr3]]</p>
</div>
...
</template>
<script>
Polymer({
is: 'my-view1',
properties: {
ytr: {
type: Number,
value: 0
},
ytr3: {
type: Number,
value: 0
}
},
ready: function()
{
function getViews(params) {
$.ajax({
url: "https://www.googleapis.com/youtube/v3/channels?part=statistics&key=MyAPIkeyHere",
jsonp: "callback",
dataType: "jsonp",
success: function(response) {
this. ytr = this.$.youtubeRequest.innerHTML = response.items[0].statistics.viewCount;
var ytr2 = this.$.views.innerHTML = 100 / ytr;
this.ytr3 = ytr2.toPrecision(1);
},
});
}
getViews()
}
</script>
</dom-module>
...
视图数量:[[ytr]]
[[ytr3]]
...
聚合物({
是:‘我的视图1’,
特性:{
年初至今:{
类型:数字,
数值:0
},
ytr3:{
类型:数字,
数值:0
}
},
就绪:函数()
{
函数GetView(参数){
$.ajax({
url:“https://www.googleapis.com/youtube/v3/channels?part=statistics&key=MyAPIkeyHere",
jsonp:“回调”,
数据类型:“jsonp”,
成功:功能(响应){
this.ytr=this.$.youtubeRequest.innerHTML=response.items[0].statistics.viewCount;
var ytr2=this.$.views.innerHTML=100/ytr;
this.ytr3=ytr2.toPrecision(1);
},
});
}
getViews()
}
响应。项
必须返回未定义的
。但这意味着什么?我是web开发的新手,不知道如何处理它响应是什么,console.log还是其他什么?这意味着它不存在exist@Un1如果您试图获取一个不存在的值,则会得到未定义的
。就是这样。ytr3应该已经在ytr/100之前了。我的示例中有一个输入错误,在这和ytr3之间有一个空格。请删除它。谢谢,它解决了问题!只需将self
var添加到它