2015-09-23 29 views
0

我想在我的前端使用一個小的AngularJS,但仍然遇到從後端推送數據的問題。我的後端是具有Handlebars模板的Node.js/Express/Mongoose/Mongo。

我想一個數組傳遞到角$範圍變化,但它一直轟炸與以下表達式錯誤的意外結束:

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'屬性? – Pointy

+0

對於'ng-init',這不是[適當使用](https://docs.angularjs.org/api/ng/directive/ngInit)。 'ng-init'是一個指令,有一個優先級,這意味着當其他組件可能會有數據可用時它可能運行也可能不運行。除此之外,你聲明你改變了'$ interpolateProvider'爲'{[{}]}',但'ng-init'語句使用'{{{}}}''。 – Claies

+0

看着你的錯誤,與你發佈的實際代碼相比,你甚至不清楚你試圖在這裏通過什麼。這就是錯誤說你的代碼如下所示:'ng-init =「posts = {」_id「:」55fb04878dabb2842d3deaeb「,」title「:」my =「」sixth =「」post「}; =」「 '對我來說,這看起來像一個無效的JSON對象,假設在這裏使用'ng-init'是合適的。 – Claies

回答

0

爲什麼你有[]{[{ post.title }]};

它應該是:

<div> 
     {{ post.title }}; 
    </div> 
+0

OP使用自定義插值 –

+3

這似乎並不是對這個問題的回答。這篇文章特別描述了他們在這裏不使用正常語法的原因。 – Claies