javascript – Sails.js – 将数据传递给视图

前端之家收集整理的这篇文章主要介绍了javascript – Sails.js – 将数据传递给视图前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近开始学习如何使用Sails.js,我遇到了一个小问题.

我有一个名为申请人的模型,如下所示:

module.exports = {

  attributes: {     
     name: {
      type: 'STRING',required: true
     },email: {
      type: 'STRING',required: true
     }

  }

};

我已经建立了索引操作来返回申请人模型的所有实例:

module.exports = {
    index: function(req,res) {
        Applicant.findAll().done(function(err,applicants) {
            res.view({
                apps: applicants
            });
        });
    }
};

这是我使用的观点:

<section id="applicants">
    <h1>List of applicants</h1>

    <ul>
        <% for (applicant in apps) { %>
        <li><%= applicant.name %> <%= applicant.email %></li>
        <% } %>
    </ul>
</section>

不过,当我加载相应的URL时,我看不到我的数据显示.

我已经阅读了Sails.js文档,但我似乎找不到我的代码有什么问题.

如果有人可以帮助我解决这个问题,这将是巨大的.

谢谢!

解决方法

尝试
<%= apps[applicant].name %>

它就像循环工程一样.申请人是应用程序数组中的索引.

编辑:更好的方法是使用javascript数组的内置方法forEach,因为这样你可以避免循环遍历元素,继承自应用程序的类型(例如,元素,分配如下:apps.__proto__.foo = {name:“bar”}或Array.prototype.foo2 = {name:“pi222”}).

<% apps.forEach(function(applicant)  { %>
    <li><%= applicant.name %> <%= applicant.email %></li>
<% }); %>

附:当然这个javascript的方法(forEach)在IE< = 8(如果你考虑在浏览器中使用它)将不起作用.但是我们在NodeJs内部,它是建立在V8引擎之上的.所以这样会奏效.

原文链接:https://www.f2er.com/js/152363.html

猜你在找的JavaScript相关文章