2016-11-16 5 views
0

Я работаю с Meteor, и я пытаюсь отобразить таблицу данных, используя этот код.DataTable В таблице нет данных. Загрузить

Мои JS:

onRendered() { 

    $('#tableCarsWorkflow').DataTable({ 

     paging: true, 
     searching: true, 
     info: false, 
     data: this.CarsList(), 
     ordering: false, 

     columns: 
      [ 
    { data: "declaration.sg_art.numeroarticle", title: "Numéro de l'article" }, 
    { data: "declaration.sg_dec.quittance", title: "Quittance" }, 
    { data: "declaration.sg_art.bl", title: "Référence du BL" }, 
    { data: "declaration.sg_art.regime", title: "Régime douanier déclaré" }, 
    { data: "declaration.sg_art.nomenclature", title: "Nomenclature" }, 
    { data: "declaration.sg_art.description", title: "Description" }, 
    { data: "declaration.sg_art.num_colis", title: "Marque et numéro de châssis" }, 
    { data: "declaration.sg_art.Valeur_en_douane", title: "Valeur en douane" }, 
    { data: "declaration.sg_art.Pays_origine", title: "Pays d'origine" }, 
      ] 
    }); 

    this.bindCarsListCLick(); 

}, 
bindCarsListCLick() { 
    let self = this; 

    $("#tableCarsWorkflow tr").bind("click", function (event) { 
     console.log("click fired...") 
     var dataTable = $(event.target).closest('table').DataTable(); 
     var row = dataTable.row(event.currentTarget); 
     var rowData = row.data(); 

     if (!rowData) return; // Won't be data if a placeholder row is clicked 

     $("#tableCarsWorkflow tr").removeClass('selected'); 
     $(this).addClass('selected'); 
     self.showDetails(true) 

     self.workflowTable(_.where(self.WorkflowList(), { CarId: rowData._id })) 


}); 

Html:

<template name="carWorkFlow"> 
    <div class="row"> 
     <div class="col-sm-12"> 
      <div class="card-box"> 
       <h4>Liste des véhicules</h4> 
       <table id="tableCarsWorkflow" class="table table-condensed table-bordered fixed-table-body"></table> 
      </div> 
     </div> 
    </div> 
</template> 

Но когда я загрузить страницу в первый раз, я получаю всегда то же самое сообщение: "Нет доступных в таблице данных".

+0

Скорее всего, данные отсутствуют при визуализации шаблона. Вам необходимо передать данные с помощью вычисления Tracker или дождаться подписки, через которую вы получите данные, которые должны быть готовы, прежде чем предоставлять таблицу данных (если она получена через подписку). – MasterAM

ответ

0

Try данные:.. CarsList() найти() выборки()

0

Вы уверены, что ваш this.CarsList() возвращают информацию? Положите console.log на первой строке onRendered отлаживать

onRendered() { 
console.log(this.CarsList()); 
... 
} 

Удачи!

+0

Как синхронизировать подписки? – sana

+0

Вы можете использовать подход подписки на уровне шаблонов. –

+0

Взгляните на этот пример: –