Maison > interface Web > Voir.js > le corps du texte

Comment utiliser le composant dans vue.js

coldplay.xixi
Libérer: 2020-11-12 14:24:52
original
5945 Les gens l'ont consulté

Comment utiliser les composants dans vue.js : 1. Étendre les éléments HTML et encapsuler le code réutilisable ; 2. Les composants sont des éléments personnalisés et le compilateur de [Vue.js] y ajoute des fonctions spéciales ; les composants peuvent également se présenter sous la forme d'éléments HTML natifs, étendus avec l'attribut is.

Comment utiliser le composant dans vue.js

[Articles connexes recommandés : vue.js]

Comment utiliser un composant dans vue.js :

Qu'est-ce qu'un composant

Selon la convention , citant Une phrase du site officiel de Vue :

Le composant est l'une des fonctionnalités les plus puissantes de Vue.js. Les composants peuvent étendre des éléments HTML, encapsulant du code réutilisable. À un niveau élevé, un composant est un élément personnalisé auquel le compilateur de Vue.js ajoute des fonctionnalités spéciales. Dans certains cas, les composants peuvent également prendre la forme d'éléments HTML natifs, étendus avec l'attribut is.

Enregistrement du composant composant

Composant global :

Vue.component('todo-item',{
  props:['grocery'],
  template:&#39;<li>{{grocery.text}}</li>&#39;
})
var app7 = new Vue({
  el:"#app7",
  data:{
    groceryList:[
      {"id":0,"text":"蔬菜"},
      {"id":1,"text":"奶酪"},
      {"id":2,"text":"其他"}
    ]
  }
})
Copier après la connexion
rrree

Enregistrement local :

<div id="app7">
  <ol>
    <todo-item
      v-for="grocery in groceryList"
      v-bind:grocery="grocery"
      v-bind:key="grocery.id">
    </todo-item>
  </ol>
</div>
Copier après la connexion

Instructions d'analyse du modèle DOM

Les composants seront soumis à certaines restrictions sous certaines balises HTML.

Par exemple, dans le code, sous la balise table, le composant est invalide.

var Child = {
 template: &#39;<div>A custom component!</div>&#39;
}
new Vue({
 // ...
 components: {
  // <my-component> 将只在父模板可用
  &#39;my-component&#39;: Child
 }
})
Copier après la connexion

En guise de solution de contournement, utilisez le composant

<table>
 <my-row>...</my-row>
</table>
Copier après la connexion

via l'attribut is. Il est à noter que si vous utilisez un modèle de chaîne provenant de l'une des sources suivantes, vous ne serez pas restreint <. 🎜>

<table>
 <tr is="my-row"></tr>
</table>
Copier après la connexion

Chaîne de modèle en ligne JavaScript

Component.vue

les données utilisent des fonctions pour éviter que plusieurs composants ne s'affectent mutuellement

html

<script type="text/x-template">
Copier après la connexion

js

<div id="example-2">
 <simple-counter></simple-counter>
 <simple-counter></simple-counter>
 <simple-counter></simple-counter>
</div>
Copier après la connexion

Comme ci-dessus, il y a trois composants sous le div, et chaque composant partage un compteur. Lorsqu'un composant est cliqué, les compteurs de tous les composants seront incrémentés de un.

La solution est la suivante

js

var data = { counter: 0 }
Vue.component(&#39;simple-counter&#39;, {
 template: &#39;<button v-on:click="counter += 1">{{ counter }}</button>&#39;,
 data: function () {
  return data
 }
})
new Vue({
 el: &#39;#example-2&#39;
})
Copier après la connexion
De cette façon, une fois généré chaque composant, il aura son propre compteur exclusif.

Recommandations d'apprentissage gratuites associées :

JavaScript (vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal