ng-init角度解析错误,包括JSON格式的php输入

时间:2017-06-09 13:40:37

标签: php angularjs arrays json

所以我有一个名为$ output的php var,当完成echo json_encode($ output)打印如下:

[{
    "title": null
}, {
    "title": "a b c"
}, {
    "title": "d e f"
}, {
    "title": "d f g"
}, {
    "title": "f g d"
}]

我相信这是正确的JSON

现在我正在使用该输出通过ng-init加载结果,因为它必须在同一页面上,所以我使用以下代码:

> <table ng-init="values =<?php echo json_encode($output); ?>">
>      <tr ng-repeat="value in values">
>          <td>{{value}}</td>
>      </tr>  </table>

它给出了如下错误:

  

错误:[$ parse:ueoe] http://errors.angularjs.org/1.4.9/$parse/ueoe?p0=values%20%3D%5B%7B

<table ng-init="values =[{" title":null},{"title":"a="" b="" c"}]"> 

以及其中一个包含很多单词的大数组。在原始词中使用ABC

3 个答案:

答案 0 :(得分:0)

试一试:<table ng-init="values =[{\' title\':null},{\'title\':\'a=\"\" b=\"\" c\'}]">

答案 1 :(得分:0)

您需要通过电话$http从服务器获取数据。通话结束后,从控制器的$scope设置变量,并在此变量中使用ng-repeat显示结果。

答案 2 :(得分:0)

我发现这个工作不知怎的.....我不知道如何但可能会帮助某人

 var obj = <?php echo json_encode($output) ?>;
      app.controller('MaCtrl', ['$scope', '$window', function($scope, $window) {
  $scope.obj = $window.obj;

  $scope.getMember = function(id) {
    $scope.values = $scope.obj;
    console.log($scope.values);
  };
}]);

 <table ng-controller="MaCtrl" ng-init="getMember(id)">
     <tr ng-repeat="value in values">
         <td>{{value.title}}</td>
     </tr>
 </table>