Ошибка AngularJS: $ parse: ueoe Неожиданная ошибка конца выражения

0

Я пытаюсь использовать немного AngularJS на моем интерфейсе, но все время сталкиваюсь с проблемами с нажатием данных из моего бэкэнда. Моей базой является Node.js/Express/Mongoose/Mongo с шаблоном Handlebars.

Я пытаюсь передать массив в переменную диапазона Angular $, но он продолжает бомбардировку с помощью Неожиданного завершения выражения Expression Error:

Error: [$parse:ueoe] http://errors.angularjs.org/1.4.6/$parse/ueoe?p0=posts%3D%7B
at Error (native)
at http://localhost:3000/js/vendor/angular/angular.min.js:6:416
at Object.s.peekToken (http://localhost:3000/js/vendor/angular/angular.min.js:209:514)
at Object.s.object (http://localhost:3000/js/vendor/angular/angular.min.js:208:336)
at Object.s.primary (http://localhost:3000/js/vendor/angular/angular.min.js:205:503)
at Object.s.unary (http://localhost:3000/js/vendor/angular/angular.min.js:205:342)
at Object.s.multiplicative (http://localhost:3000/js/vendor/angular/angular.min.js:205:88)
at Object.s.additive (http://localhost:3000/js/vendor/angular/angular.min.js:204:430)
at Object.s.relational (http://localhost:3000/js/vendor/angular/angular.min.js:204:265)
at Object.s.equality (http://localhost:3000/js/vendor/angular/angular.min.js:204:90) <div class="container ng-scope" ng-controller="infiniteScrollCtrl" ng-init="posts={" _id":"55fb04878dabb2842d3deaeb","title":"my="" sixth="" post"}>

Вот как выглядит мой код:

<div class="container" ng-controller="MyController" ng-init="posts={{{ data.posts }}}">
<div class="row" ng-repeat='post in posts'>
    <div>
      {[{ post.title }]};
    </div>
</div> 

Символ углового интерполята был переконфигурирован на {[{чтобы не противоречить рулям.

app.config(function($interpolateProvider) {
  $interpolateProvider.startSymbol('{[{');
  $interpolateProvider.endSymbol('}]}');
});

И вот что такое data.posts выглядит так:

{"_id":"55fb04878dabb2842d3deaeb","title":"My Test Post"}

Любая помощь будет принята с благодарностью!

  • 0
    В вашем коде отсутствует двойная кавычка в атрибуте контейнера ng-init ?
  • 0
    Это не подходящее использование для ng-init . ng-init - это директива с приоритетом, который означает, что он может запускаться или не запускаться, когда другие компоненты ожидают, что данные будут доступны. Кроме того, вы заявляете, что вы изменили свой $interpolateProvider на {[{ }]} но оператор ng-init использует {{{ }}} .
Показать ещё 5 комментариев
Теги:
handlebars.js

1 ответ

0

Почему у вас есть [] в {[{ post.title }]}; ?

Должен быть:

    <div>
      {{ post.title }};
    </div>
  • 0
    OP использует пользовательский интерполятор
  • 3
    Это не похоже на ответ на вопрос. Пост специально описал причину, по которой они не используют нормальный синтаксис здесь.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню