您好我正在与Polyner合作开展一个新项目。我为我的卡片制作了一个新的聚合物模板。当我进行新的搜索时,我使用以下搜索功能。
Polymer('moviegrep-element', {
search: function() {
var searchString = this.$.searchField.value;
$.post('/api/search/' + searchString, function(res) {
this.results = res;
console.log(this.results);
});
}
});
响应是正确的,它是一个对象数组。在角度我会使用范围。$ apply但我没有找到聚合物的解决方案。请帮忙。
答案 0 :(得分:3)
我认为您的代码中的一个错误是您在回调中使用this
- this
不是那里的聚合物元素!所以请尝试以下内容(请注意使用_THIS
变量)
search: function() {
var searchString = this.$.searchField.value;
var _THIS = this;
$.post('/api/search/' + searchString, function(res) {
_THIS.results = res;
});
如果没有帮助尝试直接将数组分配给模板的模型:
<template repeat="{{ r in results }}" id="tmpl_results">
...
search: function() {
var searchString = this.$.searchField.value;
var tmpl = this.$.tmpl_results;
$.post('/api/search/' + searchString, function(res) {
tmpl.model = {results:res};
});