为什么angularJs在页面加载时没有显示结果


why angularJs does not showing the result on page load?

我是AngularJs的新手。我正在尝试从数据库中获取结果,并使用angularjs在li中显示。我也在使用anguarjs filter,它运行良好。我的问题是脚本在页面加载时没有显示结果。

Php

// Create connection
    $pdo=new PDO("mysql:dbname=dummy_db;host=localhost","root","");
    $statement=$pdo->prepare("SELECT * FROM mytable");
    $statement->execute();
    $results=$statement->fetchAll(PDO::FETCH_UNIQUE);
    $a = '';
    foreach($results as $__){
        $a .= json_encode($__).',';
    }

HTML和AngularJS

<body  ng-app="angapp"  ng-controller="angCtrl">
    <input type="text" ng-model="findname"  />
    <br />
    <ul>
        <li ng-repeat="stu in students | filter:findname">
            <img src="images/12.jpg" width="200" height="200"  />
            <span>Name :{{stu.u_name}}</span><br />
            <strong>Email :{{stu.u_mail}}</strong>
        </li>
    </ul>
<script>
    var testApp = angular.module('angapp',[]);
    testApp.controller('angCtrl',function($scope){
        $scope.students=[
            <?php echo $a; ?>
        ]
    });
</script>

Json样品

$scope.students=[ {"u_name":"Adrian","0":"Adrian","u_mail":"Aenean.sed@ut.net"} ]

当我把文本放在input字段中时,上面的脚本运行良好,结果显示正确,但在页面加载时没有显示结果。有人能告诉我哪里错了吗?我可以解决这个问题。如果有人引导我,我将不胜感激。谢谢。

您的代码运行良好(angularjs一侧),只需确保您已引用angularjs。

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body  ng-app="angapp"  ng-controller="angCtrl">
    <input type="text" ng-model="findname"  />
    <br />
    <ul>
        <li ng-repeat="stu in students | filter:findname">
            <img src="images/12.jpg" width="200" height="200"  />
            <span>Name :{{stu.u_name}}</span><br />
            <strong>Email :{{stu.u_mail}}</strong>
        </li>
    </ul>
<script>
    var testApp = angular.module('angapp',[]);
    testApp.controller('angCtrl',function($scope){
       $scope.students=[ {"u_name":"Adrian","0":"Adrian","u_mail":"Aenean.sed@ut.net"} ];
    });
</script>
</body>