2015-06-13 45 views
3

我是新的Symfony2和AngularJS。我試圖使用json_encode來顯示我的數據庫的內容。但它不工作。這是我的控制器:json_encode doens't在我的Symfony2的控制器工作

public function catalogonewAction() 
{ 
    $data = $this->getDoctrine()->getManager() 
    ->getRepository('AcmeRetroBundle:Game')->findAll(); 

    return $this->render('AcmeRetroBundle:Default:catalogonew.html.twig', 
    array('data' => json_encode($data)));} 

這是我html.twig:

{% verbatim %} 
<div ng-app="myApp1" ng-init="mydata = {{ list|raw }}"> 
<table id="sortedData"> 
<tr><th>T1</th><th>T2</th></tr> 
<tr ng-repeat="data in mydata | filter:sortData"> 
<td>{{data.nombreJuego}}</td> 
<td>{{data.description}}</td> 
</tr> 
</table> 
</div> 
{% endverbatim %} 

而且我app.js:

angular.module('myApp1', []). 
filter('sortData', function() { 
    alert('Hi'); 
    return out; 
}); 

當我刷新我的網頁也顯示這樣的: T1 T2 {{data.nombreJuego}} {{data.description}}

出了什麼問題?

+0

看起來像JavaScript錯誤停止angularjs從的Bootstrap,檢查控制檯,並添加你的錯誤輸出 – maurycy

+1

問自己什麼是逐字的意思。混合角模板和樹枝模板令人沮喪地說至少。 – Cerad

+0

好的。我修復它。我更改了控制器中的所有代碼並逐字刪除。我使用InterpolateProvider。 – Holothurion

回答

0

我不喜歡將數據從後端傳遞到這樣的anuglarJS,使用ajax請求來檢索數據是很常見的。

嘗試傳遞數據給JavaScript變量,你可以影響是一個對象在你的角度範圍:

 <script> 
      var list= {{ data }} 
    </script>  
    {% verbatim %} 
      <div ng-app="myApp1" ng-init="mydata = list"> 
      <table id="sortedData"> 
      <tr><th>T1</th><th>T2</th></tr> 
      <tr ng-repeat="data in mydata | filter:sortData"> 
       <td>{{data.nombreJuego}}</td> 
       <td>{{data.description}}</td> 
      </tr> 
      </table> 
      </div> 
    {% endverbatim %}