AngularJS和php数组数据

AngularJS和php数组数据,php,javascript,angularjs,angularjs-ng-repeat,Php,Javascript,Angularjs,Angularjs Ng Repeat,我最近开始学习AngularJS。当我从数据库数组中获取数据时,我使用函数foreach,因此我的代码是 <ul> <?php foreach($Items as $Item):?> <li><?php echo $Item['name'];?></li> <?php endforeach;?> </ul> 我使用AngularJS是因为我需要可排序的列表元素。我

我最近开始学习AngularJS。当我从数据库数组中获取数据时,我使用函数foreach,因此我的代码是

<ul>
     <?php foreach($Items as $Item):?>
          <li><?php echo $Item['name'];?></li>
     <?php endforeach;?>
</ul>
我使用AngularJS是因为我需要可排序的列表元素。我和AngularJS的代码大致相同

<script>
     function PositionsList($scope){
         $scope.positions=<?php echo json_encode($Items);?>
     }
</script>
<ul>
    <li ng-repeat="position in positions | filter:query">
       <p>{{position.name}}</p>
    </li>
</ul>

功能位置列表($scope){
$scope.positions=
}
  • {{position.name}

有可能吗?如果没有,如何获取从服务器接收的数据,如果没有,请使用$http.post/get?

将模型保存在单独的文件中:

<ul ng-init="positions = <?php echo htmlspecialchars(json_encode($Items)); ?>">
    <li ng-repeat="position in positions | filter:query">
       <p>{{position.name}}</p>
    </li>
</ul>

我最初的感觉是,您将无法以这种方式将ng repeat和php forEach结合起来。您的代码不起作用吗?我觉得那代码不错。你能展示JSON编码的JSON输出吗?我认为最好不要在同一个文件中混合使用PHP和JS代码。为什么不使用AJAX来检索Items数组,而不是用PHP来回显它呢?MaxPRafferty,这段代码可以工作,但我不确定我做得对,因为文档中说模型应该在一个单独的文件中,然后,我可能会通过ajaxIt发送数据,记住ng init需要放在ng repeat指令的父元素级别,就像这里一样。我试图将它放在同一个元素中,但没有得到任何成功。另一点是:javascript中没有对对象进行排序。在javascript中需要使用数组进行排序。因此,当使用json_编码时,数组顺序可能会受到影响。在您的
ng repeat
中,顺序可能与原始数组中的顺序不匹配。