我正在构建一个用于自定义电子商务网站的产品网格顺序的应用程序。能够以灵活响应的方式呈现产品订单,确实可以使项目经理更轻松地为其客户创造更好的体验。
此网格顺序应用程序的一部分基于Ryan Glover(我非常感谢)的一篇文章,该文章称为《使用PapaParse导入CSV https://themeteorchef.com/tutorials/importing-csvs》。
即使模板和构建是在Meteor中,这还是一个普通的JavaScript问题。
这是我最简单的问题:如何将event object
放入template
中?我从event object
函数中得到了Papa.parse()
的罚款,并且可以console.log(it)
。但是,如何将event object
传递到模板中。
import { Template } from 'meteor/templating';
import { ReactiveVar } from 'meteor/reactive-var';
import './main.html';
// NOTE: trying to figure out how to pass event object to template
Template.upload.events({
'change [name="uploadCSV"]' ( event, template ) {
// Handles the conversion and upload
var fileInput = document.querySelector('[name="uploadCSV"]');
// Parse local CSV file
Papa.parse(fileInput.files[0], {
header: true,
complete: function(results) {
// console.log(results); // includes data, error, and misc
// NOTE: This is the data object to send to the template
let itemData = results.data;
console.log(itemData) // here is the data object
// This test correctly iterates over the object, but should be done in the template
itemData.forEach(function(item) {
console.log(item)
// console.log(item['itemcode'])
});
// HELP! How do I send the object itemData to the template?
} // END complete
}); // END parse
} // END change
}) // END events
这里是回购的链接。 https://github.com/dylannirvana/gridorderapp/tree/master/meteor/vanilla
这必须非常简单。提前谢谢了!
答案 0 :(得分:1)
查看您的项目将清楚表明,该部分尚不准备就绪。您的问题不是关于TextField
的问题,而是了解流星。缺少必需品。
首先检查您的events
模板,没有定义数据。其次,通过grid
Papa.parse
不确定您的概念应如何运行,但可以假设,某人应该能够上传包含数据的CSV文件以显示在页面中。
这是持久性数据吗?意味着应该存储数据还是将始终将其上传?
如果是持久性的,则应使用Meteor.method
以及从服务器到客户端的发布和订阅集合。您可以看一下《流星之火todo》应用程序教程。
如果是临时数据,则可以创建仅客户端的minimongo集合,然后向该客户端订阅。
从解析器获取数据时,您必须将该内容插入或添加到本地或全局集合中。
这样做并在集合中具有反应性(订阅)模板时,它将自动显示其内容。
同样,您应该熟悉流星要做的教程,以了解您的需求。
希望能引导您正确的方法。
祝你好运 汤姆