Передать объект события в шаблон с помощью Meteor - PullRequest
0 голосов
/ 08 ноября 2018

Я создаю приложение для настройки порядка продуктов на сайте электронной коммерции.Способность представлять заказ продукции гибким и гибким способом действительно облегчила бы руководителям проектов создание лучшего опыта для их клиентов.

Часть этого приложения заказа сетки основана на статье Райана Гловера (кому я очень благодарен), вызвал импорт CSV https://themeteorchef.com/tutorials/importing-csvs, с использованием PapaParse.

Несмотря на то, что шаблоны и сборка находятся в 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

Это должно быть смущающе легко.Спасибо заранее!

1 Ответ

0 голосов
/ 08 ноября 2018

просмотр вашего проекта прояснит, что этот кусок не будет готов к работе. Ваш вопрос не о events, а о метеоре. Отсутствуют предметы первой необходимости.

Сначала проверьте шаблон grid, данные не определены. Во-вторых, понять Papa.parse на клиенте и на сервере через Meteor.method

Не уверен, как ваша концепция должна работать, но давайте предположим, что кто-то должен иметь возможность загрузить CSV-файл с данными для отображения на странице.

Это постоянные данные? Значит, данные должны храниться или будут загружаться постоянно?

В случае персистентности вы должны использовать Meteor.method и коллекцию публикации и подписки от сервера к клиенту. Вы можете взглянуть на учебное пособие по приложению meteor blaze todo.

В случае временных данных вы можете создать клиентскую коллекцию только минимонго и подписать клиента на нее.

При получении данных от Parser вы должны вставить или добавить этот контент в локальную или глобальную коллекцию.

При этом и наличии реактивного (подписного) шаблона для коллекции он автоматически показывает его содержимое.

Опять же, вы должны познакомиться с руководством по метеоритному огню, чтобы понять ваши потребности.

Надеюсь, что это поможет вам правильно.

Удачи Том

...