一尘不染

如何将node.js服务器变量传递到我的angular / html视图中?

angularjs

我在启动服务器的app.js文件中有此路由

app.get('/view/:item_id', function(req,res){
    var A = 5;
    res.render('view_item');

我在view_item.html中有这个:

<p>{{A}}</p>

我希望它显示变量值-5。如果使用的是玉之类的模板引擎,那会很容易。我可以将服务器代码的第三行更改为res.render({A:A},'view_item');

但是我使用html作为模板引擎。到目前为止,我的研究告诉我,使用带有angular的模板引擎通常不是一个好主意,并且总有一种方法可以使用angular的内置模板系统来实现。那么我该怎么做呢?我是否以某种方式将其传递给$
scope并包括

<script>
    $scope.A = {{A}};
</script>

我还没有在任何地方看到它完成,所以我不认为这是要走的路。


阅读 166

收藏
2020-07-04

共1个答案

一尘不染

这是一个两步过程。

  1. 首先,您需要使用诸如 express in node之 类的库(服务器库)来设置适当的路由(REST服务)以响应您的请求:

服务器端

//app = express();
    app.get('/api/:paramID1/:paramID2',function(req, res){
        return res.json({ A: 5 });
    });
  1. 客户端 ,您需要ajax调用来调用服务,例如:
    $http.get( "/api/1/abc").success(function( data ) {
    

    $scope.A= data; //from your sample;
    alert( “Load was performed. ” + data );
    });

请注意,使用REST时,可以根据您的需要调用不同类型的“方法”,例如POST,DELETE,UPDATE或示例GET中刚刚提到的方法。

2020-07-04