我想将文档列表返回到将在某些客户端 JS 中使用的数组。在我的 apsotrophe-pages 模块中,我有这个 apos.docs.find 调用,它正在工作并返回我需要获取的文档。现在我有了这个文档数组,我需要将数据公开给客户端 JS。
通读文档,看起来可能建议使用片段来执行此操作,但看起来需要将片段放入小部件中,然后将小部件放入页面中。
我了解模块分离的最佳实践问题,但我只是希望尽可能简单轻松地获取这些数据以供客户端使用(有点时间紧迫)。
是否有一种简单易行的方法可以将此 autoCompleteData 数组公开到前端,以便我可以在客户端代码中执行类似于下面的操作?
(感谢您的帮助!在过去的几天里,我有几个撇号问题,但我认为这是帮助我填补将后端对象连接到前端的空白的最后一部分。)
\lib\modules\撇号页面\views\pages\home.html
<script>
var page = apos.page;
$('#displayDocs').text(page.autoCompleteData);
</script>
\lib\modules\撇号页\index.js
module.exports = {
types: [
{ name: 'default', label: 'Default Page' },
{ name: 'apostrophe-blog-page', label: 'Blog Index' },
],
autoCompleteData: [],
construct: function(self, options) {
self.pageBeforeSend = function(req, callback) {
let criteria = [
{"type": "apostrophe-blog"},
{"published": true}
];
criteria = { $and: criteria };
self.apos.docs.find(req, criteria).sort({ title: 1 }).toObject(function(err, collection){
self.autoCompleteData = collection;
});
return callback(null);
}
}
}