Я создаю прототип интерфейса на основе Polymer для чистого слоя сервисов RESTful. Я думаю, что у меня работает AJAX на уровне компонентов, но он не окрашивает Shadow DOM… вместо этого я получаю сообщение об ошибке в Chrome: Uncaught SyntaxError: Неожиданный токен. from base.js: 164 (root.appendChild(dom)).
Мой код:
<link rel="import" href="/bower_components/polymer/polymer.html">
<link rel="import" href="/bower_components/core-ajax/core-ajax.html">
<polymer-element name="feed-posts">
<template>
<link rel="stylesheet" href="/assets/css/bootstrap.min.css">
<link rel="stylesheet" href="/assets/css/styles.css">
<core-ajax id="stream" url="https://api.myhost.com/1/streams" handleAs="json" params=" {{ streamparams }}" auto on-core-response="{{ feedLoaded }}"></core-ajax>
<template repeat="{{f in feed }}">
<div class="tile">
<div class="heroTop">
<div class="headline">Post ID is {{ f }}</div>
</div>
</div>
</template>
<script>
Polymer('#stream', {
accesstoken: document.querySelector('app-globals').accesstoken,
userid: document.querySelector('app-globals').userid,
streamparams: { "access_token": this.accesstoken, "user_id": this.userid }
});
</script>
</template>
<script>
Polymer('newsfeed-posts', {
created: function(){
this.feed = [];
},
feedLoaded: function(){
this.feed = this.$.stream.response['post_ids'];
}
});
</script>
</polymer-element>
Является ли это ошибкой с использованием полимера или (бесконечно более вероятной) ошибки пользователя?
Ваш код:
Polymer('#stream', {
this.accesstoken = document.querySelector('app-globals').accesstoken;
this.userid = document.querySelector('app-globals').userid;
this.streamparams = {
"access_token": this.accesstoken,
"user_id": this.userid
};
});
должен по крайней мере выглядеть так:
Polymer('#stream', {
accesstoken: document.querySelector('app-globals').accesstoken,
userid: document.querySelector('app-globals').userid,
streamparams: {
"access_token": this.accesstoken,
"user_id": this.userid
},
});
Используйте код linter, и вы найдете эти ошибки (ошибки синтаксиса), прежде чем запускать свой код.
Но, тем не менее, в вашем коде больше ошибок. Идите дальше и прочитайте замечательные полимерные документы.