2017-10-02 1 views
0

Je commence juste avec Vue Components et j'ai rencontré une erreur que je n'arrive pas à comprendre.Vue composant propriété non définie lorsqu'elle est utilisée comme enfant pour l'emplacement

J'ai créé un composant de base presque identique à https://vuejs.org/v2/examples/grid-component.html, sauf qu'au lieu de transmettre un argument de données, j'ai utilisé un emplacement à l'intérieur de l'étiquette. Here is a gist of that full component

Dans un composant parent, j'essaie de combiner mon composant de table ci-dessus et vue-paginate pour générer une table paginée.

<data-table> 
    <paginate 
     ref="paginator" 
     name="urls" 
     tag="tbody" 
     class="data-table-body" 
     :list="fUrls" 
     :per="100" 
    > 
     <template v-for="url in paginated('urls')"> 
      <conversion-row :url="url"></conversion-row> 
     </template> 
    </paginate> 
</data-table> 

J'ai enlevé les accessoires sur le tableau de données pour la brièveté.

Lorsque vous utilisez ce qui précède. Je reçois une erreur d'URL non définies. Cela ne se produit que lorsque le composant paginate est un enfant de mon composant. Si je supprime mon composant de table de données alors c'est bien et je vois les lignes rendues. Je sais que je dois manquer quelque chose pour que tout cela fonctionne. En lisant le guide, j'ai eu l'impression que parce que les composants sont rendus dans la portée parent que le paginate rendrait en premier et ensuite remplacer le slot. Cependant, il semble que ce n'est pas le cas.

Quelqu'un peut-il nous donner un aperçu de la raison pour laquelle cela ne fonctionne pas et un exemple de la façon correcte de le faire?

Merci

+0

Je pense que votre problème est dans '