Ошибка пользовательского полимерного компонента: неожиданный токен. base.js: 164

Вопрос:

Я создаю прототип интерфейса на основе 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, и вы найдете эти ошибки (ошибки синтаксиса), прежде чем запускать свой код.

Но, тем не менее, в вашем коде больше ошибок. Идите дальше и прочитайте замечательные полимерные документы.

Оцените статью
TechArks.Ru
Добавить комментарий