2015-08-21 29 views
0

因此,我的页面取决于$ scope包含所有信息的事实。我在页面上有很多{{ information }}。在节点后端控制器上,我从数据库获取信息并将其发送到前端,但$ scope被设置在不同的文件中。很难解释我想要做什么。

这里是我的index.js文件:

app.get('/page', function (req, res){ 

    var info = db.getInfo(); 

    res.render('page', { 
     information: info 
    }); 
}); 

该页面将然后渲染,但我怎么给信息到$范围。

+0

你如何在前端制作req-res?你使用$ http? –

+0

@Shimbr我不知道。这个GET请求是当有人点击一个链接时。 –

回答

0

您在NodeJS中设置的路由需要通过$ http角度来访问。应使用ng-route在前端应用程序中处理URL路由。

如果你想通过服务器在角度的$范围内呈现你的页面,你将不得不让服务器生成角码来做到这一点......但这只是过于复杂的事情。最好让有角度的手柄检索这些数据。

使用的angularjs服务:

angular.module('yourApp') 
    .service('pageLoader', function($http) { 
    var baseUrl = ''; // this will be the url for your server. Normally  
         // 'localhost' or something similar if it is a test 
         // environment 

    return this.loadPage = function() { 
     return $http.get(baseUrl + '/page'); 
    } 
    }) 
    .controller('PageCtrl', function($scope, pageLoader) { 
    $scope.page = null; 

    $scope.loadPage = function() { 
     pageLoader.loadPage().then(function(data) { 
     $scope.page = data; 
     }) 
    } 
    }); 

这只是给你如何做到这一点的想法。如果您执行搜索,则有许多不同的$ http服务示例。

在您的nodejs中将'render'改为'send'。

编辑:我假设你正在使用角度前端应用程序,而不是某种其他模板系统。您应该发送该信息并使用angular来生成包含该信息的页面。