如何将从另一个文件收到的数组分配给另一个数组?

时间:2016-04-30 02:31:00

标签: javascript html node.js express handlebars.js

每当我从另一个文件收到一个数组时,我所能做的就是显示整个数组。我无法显示特定元素或将其分配给另一个数组。我已经发布了下面的一些代码。

下面是我用于运行节点的.js文件。这是发送数组的那个。

var titles = [1,2,3,4];
var descriptions = [5,6,7,8];
var dates = [9,10,11,12];
var file_names = [13,14,15,16];

app.get('/home', function(req, res) {
res.render('home', { postTitles: titles, postDescriptions: descriptions, postDates: dates, postFileNames: file_names });
});

这是我的home.handlebars接收数组

var myTitles = {{postTitles}};
var myDescriptions = {{postDescriptions}};
var myDates = {{postDates}};
var myFileNames = {{postFileNames}};

1 个答案:

答案 0 :(得分:0)

从节点后端在手柄模板中呈现数组的方法:

  1. 当要显示整个数组时,使用#each帮助程序。

  2. 如果只需要显示一个数组元素,那么只有该元素被传递给模板(有或没有#with助手)。

  3.   

    示例:

    app.get('/home', function(req, res) {
    
      var myArray = [1, 2, 3, 4, 5];
    
      res.render('home', {
    
        theArray: myArray[0]
    
      });
    
    });
    
    1. 大多数情况下,AJAX调用用于动态地将数据从服务器请求到前端。这是首选方式,是所有移动和Web应用程序中使用的REST API的基础。

    2. 也可以简单地将服务器端阵列字符串化并将其推入<script>标记:

    3.   

      把手模板:

      ...
      
      <script type="text/javascript">
      
          var myArray = {{theArray}};
      
          // here use myArray to do whatever processing is needed
      
      </script>
      
      ...
      
        

      服务器端代码:

      app.get('/home', function(req, res) {
      
        var myArray = [1, 2, 3, 4, 5];
      
        var jsonString = JSON.stringify(myArray);
      
        res.render('home', {
      
          theArray: jsonString
      
        });
      
      });
      

      据我所知,这是最少首选方法。但它可以完成工作。