每当我从另一个文件收到一个数组时,我所能做的就是显示整个数组。我无法显示特定元素或将其分配给另一个数组。我已经发布了下面的一些代码。
下面是我用于运行节点的.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}};
答案 0 :(得分:0)
当要显示整个数组时,使用#each
帮助程序。
如果只需要显示一个数组元素,那么只有该元素被传递给模板(有或没有#with
助手)。
示例:
app.get('/home', function(req, res) {
var myArray = [1, 2, 3, 4, 5];
res.render('home', {
theArray: myArray[0]
});
});
大多数情况下,AJAX调用用于动态地将数据从服务器请求到前端。这是首选方式,是所有移动和Web应用程序中使用的REST API的基础。
也可以简单地将服务器端阵列字符串化并将其推入<script>
标记:
把手模板:
...
<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
});
});
据我所知,这是最少首选方法。但它可以完成工作。