Я пытаюсь использовать немного 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"}
Любая помощь будет принята с благодарностью!
Почему у вас есть []
в {[{ post.title }]};
?
Должен быть:
<div>
{{ post.title }};
</div>
ng-init
?ng-init
.ng-init
- это директива с приоритетом, который означает, что он может запускаться или не запускаться, когда другие компоненты ожидают, что данные будут доступны. Кроме того, вы заявляете, что вы изменили свой$interpolateProvider
на{[{ }]}
но операторng-init
использует{{{ }}}
.