Sails.js - 从套接字数据更新变量
Sails.js - Update variable from socket data
当我使用 Sails.js 通过 websocket 接收新数据时,我正在尝试更新我的视图。
在我的控制器中 welcome.js
我有:
module.exports = {
fn: async function (inputs, exits) {
var allDeals = await Deal.find({});
return exits.success({deals:allDeals});
}
};
在我看来welcome.ejs
我有:
<% _.each(deals, function (deal) { %>
<div class="dealTitle"><%= deal.title %></div>
<% }) %>
并且此数据显示正确。
我已经设置了一个 websocket 来监听 mounted
函数中 welcome.page.js
中添加的新交易:
mounted: async function() {
io.socket.get('/feed/subscribe', function(data, jwr) {
io.socket.on('new_entry', function(entry) {
console.log(entry);
});
});
},
创建新交易后,由于控制台日志正确,它会显示在控制台中。
我的问题如下:如何使用我当前 console.logging 的数据更新 <% _.each(deals, function (deal) { %>
中的 deals
变量,以便新的交易在 for 循环中呈现?
ejs 仅存在于服务器上,因此您无法访问它。但是,您可以将 div 包装在父级中:
<div id="deals" >
<% _.each(deals, function (deal) { %>
<div class="dealTitle"><%= deal.title %></div>
<% }) %>
</div>
然后每当有新条目到达时,向该交易添加一些 html div:
document.getElementById("deals").innerHTML += `<div class="dealTitle">${entry.title}</div>`;
当我使用 Sails.js 通过 websocket 接收新数据时,我正在尝试更新我的视图。
在我的控制器中 welcome.js
我有:
module.exports = {
fn: async function (inputs, exits) {
var allDeals = await Deal.find({});
return exits.success({deals:allDeals});
}
};
在我看来welcome.ejs
我有:
<% _.each(deals, function (deal) { %>
<div class="dealTitle"><%= deal.title %></div>
<% }) %>
并且此数据显示正确。
我已经设置了一个 websocket 来监听 mounted
函数中 welcome.page.js
中添加的新交易:
mounted: async function() {
io.socket.get('/feed/subscribe', function(data, jwr) {
io.socket.on('new_entry', function(entry) {
console.log(entry);
});
});
},
创建新交易后,由于控制台日志正确,它会显示在控制台中。
我的问题如下:如何使用我当前 console.logging 的数据更新 <% _.each(deals, function (deal) { %>
中的 deals
变量,以便新的交易在 for 循环中呈现?
ejs 仅存在于服务器上,因此您无法访问它。但是,您可以将 div 包装在父级中:
<div id="deals" >
<% _.each(deals, function (deal) { %>
<div class="dealTitle"><%= deal.title %></div>
<% }) %>
</div>
然后每当有新条目到达时,向该交易添加一些 html div:
document.getElementById("deals").innerHTML += `<div class="dealTitle">${entry.title}</div>`;