从数据库中获取数据并在AngularJS中的ng-repeat中使用它

时间:2013-11-05 15:15:43

标签: javascript mysql angularjs angularjs-ng-repeat

在AngularJS中,您可以使用ng-repeat将列表的每个组件显示为HTML:

<div ng-app>
    <div ng-controller="myctrl">
        <div ng-repeat="row in lists">
            <p>{{row.first}}</p>
            <p>{{row.last}}</p>
        </div>
    </div>
</div>

但是,在上面的代码中,您必须首先编写列表的每个组件,在上面的HTML中使用它之前应该手动从数据库中提取。那么有没有办法在Node.js和Express中直接从MySQL获取数据并将其渲染为.ejs文件,然后在AngularJS中使用渲染列表?

1 个答案:

答案 0 :(得分:0)

当Node在服务器上运行时,Angular在客户端上运行。代码实际上并不一起运行。如果需要,可以使用ajax获取数据:

// `lists` is returned as JSON
$http({url: url}).success(function (lists) {
    $scope.lists = lists;
});

如果没有其他页面重新加载,您可以这样做。但是,如果必须通过脚本的服务器端运行来查询和加载数据,则将角度打印出列表本身没有任何好处。相反,您可以直接将其作为HTML的一部分打印出来。