Angularjs :如何用 Laravel 显示 ng-repeat 的内容


Angularjs : how to show contents of ng-repeat with Laravel?

我一直在尝试显示ng-repeat的内容。我使用 Laravel 5.2,这显然使这项任务更加复杂。

如果您还没有尝试过,让我解释一下使用双花括号(例如 {{ value }})将找到一个php变量($value),而不是Angular控制器中的属性,如果你使用Laravel。

这可以通过前面的@来解决,根据拉拉维尔的文档。另外,我了解到除了{{ value }}之外,还有其他一些方法可以显示变量。不过,我无法在 HTML 上显示 ng-repeat 的值。

我的代码如下所示。

<div ng-app="angularApp" ng-controller="TableController as tc">
<table>
    <tr ng-repeat="s in tc.data.students">
        <td>@{{ s.name }}</td> //1st attempt
        <td>@{!! s.name !!}</td>     //2nd attempt
        <td ng-bind="s.name"></td>        //3rd attempt
    </tr>
</table>

<script type="text/javascript">
    angular.module('angularApp', [])
    .controller('TableController', function(){
        this.data = {
            students: [
            @foreach($students as $student)
            "{!! $student !!}", //This can be replaced with {{ $student }}
            @endforeach
            ]
        };
    });
</script>

$students是一个数组,包含名为 student 的 SQL 对象。这来自拉拉维尔的控制器功能。

编辑我通常将$scope用于控制器属性,但在这种情况下,我必须对控制器使用as语法。因此,我不能使用 $scope 来存储控制器的变量。

你看到我做错了什么吗?任何建议将不胜感激!

试试这样

<script type="text/javascript">
    angular.module('angularApp', [])
            .controller('TableController', function($scope){
                $scope.data = {
                    students: [
                        @foreach($students as $student)
                        "{!! $student !!}",
        @endforeach
                };
            });
</script>

这就是我做同样的事情的方式:

视图:

<div ng-app="angularApp" ng-controller="TableController">
<input type="text" ng-model="searchBox">
<table style="width:100%;">
    <tr ng-repeat="student in students">
        <td>@{{ student.name }}</td>            
    </tr>
</table>

控制器:

angular.module('angularApp', [])
.controller('TableController', function($scope){
    $scope.students: [
        @foreach($students as $student)
        "{!! $student !!}", //This can be replaced with {{ $student }}
        @endforeach
        ];
});

$scope是 Angular 中的一个基本概念:它使数据在范围内(在控制器或视图中)可用。这里有一些文档:https://docs.angularjs.org/tutorial/step_04

我建议您完成官方的Angular教程,它会对您有很大帮助。