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
Je pense que votre problème est dans '' vue ne peut pas trouver 'urls' pourriez-vous partager la source complète de l'endroit où ce code est? – Saad
@Saad Je suis assez sûr que le non défini vient de paginate n'étant pas défini sur le parent. Dans le script vue-paginate son échec sur undefined sur un if cocher "if (! This. $ Parent.paginate [this.name]) {" Vue de dev outils le montre comme ça. http://take.ms/cSf6T où paginate est un enfant de DataTable. À l'origine, j'essayais de rendre l'inter-corps aussi flexible que possible, mais je pense que je vais juste déplacer le paginate dans le composant DataTable qui devrait le résoudre. – jchamb