如何将javascript代码结果返回到聚合自定义元素';s<;模板>;? 解决了的

如何将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=

我接受了@akc42在下面发布的答案,并添加了
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添加到它