Я копаю элемент полимера ajax-core, код, подобный следующему, отлично работает:
<core-ajax url="./ajax-test.txt" auto response="{{resp}}"></core-ajax>
<textarea value="{{resp}}"></textarea>
В этом случае я могу получить значение из {{resp}}
. Я покопался в исходном коде core-ajax и выяснил, как это было сделано:
- сделать
response
опубликованным атрибутом, установивattributes="response ..."
- передать ответ ajax на
this.response
затем я попытался создать свой собственный компонент ajax, но это не сработало, код моего компонента ajax:
Polymer('louis-ajax', {
url: '',
response: null,
ready: function() {
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
this.response = xmlhttp.responseText;
}
}.bind(this);
xmlhttp.open("GET",this.url,true);
xmlhttp.send();
}
});
и мой код приложения таков:
<louis-ajax url="http://polymer.snspay.cn/api/posts.json" response="{{response}}"></louis-ajax>
<span>We have got the ajax response as</span> : <input type='text' value="{{response}}" />
В результате запрос ajax был успешно выполнен, но значение ввода равно «{{response}}», а не значение {{response}}, поэтому я думаю, что что-то не так в том, как я понимаю работу опубликованных атрибутов. , любая помощь? Тк.
<template>
иначе не подействует. Мой код приложения не находится ни в одном шаблоне. - person Chenglu   schedule 31.07.2014