在Polymer中传递正确的回调

时间:2014-07-13 16:16:59

标签: polymer

我正在尝试使用core-xhr来调用网址并将响应设置为变量,例如

this.$.xhr.request({url:"<theURL>", method:'POST', body: "<xmldata>", callback : this.processXML});
[ .. ]
processXML : function(response) { 
  this.data = response; //its basically window.data = response
  console.log(this);
}

正如我的评论中所指出的,this并未指代所讨论的聚合物元素,而是指向window

请告知正确的方法。

1 个答案:

答案 0 :(得分:4)

看起来我已经知道了答案。

this.$.xhr.request({url:"<theURL>", method:'POST', body: "<xmldata>", callback : this.processXML.bind(this)});

使用bind(this)会将this绑定到任何被调用的函数。

更多信息:How To Access Polymer Custom Element From Callback