Maison > Article > interface Web > Explication graphique détaillée de l'utilisation de la méthode de rendu
Cette fois, je vais vous apporter une explication détaillée de l'utilisation de la méthode render avec des images et du texte. Quelles sont les précautions pour utiliser la méthode render Voici des cas pratiques, jetons un coup d'oeil.
Permettez-moi d'abord de parler de ma compréhension personnelle de la démo sur le site officiel :
<!DOCTYPE html> <html> <head> <title>Vue的render方法说明</title> <script src="vue.js"></script> </head> <body> <p id="app"> <child :level="1"> hello world </child> </p> <script type="text/x-template" id="anchored-heading-template"> <p> <h1 v-if="level === 1"> <slot></slot> </h1> <h2 v-if="level === 2"> <slot></slot> </h2> <h3 v-if="level === 3"> <slot></slot> </h3> <h4 v-if="level === 4"> <slot></slot> </h4> <h5 v-if="level === 5"> <slot></slot> </h5> <h6 v-if="level === 6"> <slot></slot> </h6> </p> </script> <script type="text/javascript"> Vue.component('child', { template: '#anchored-heading-template', props: { level: { type: Number, required: true } } }); new Vue({ el: "#app" }) </script> </body> </html>
Bien que la méthode d'utilisation du modèle pour définir les composants soit très intuitive, cela rendra le code trop long. Vous pouvez utiliser la méthode de rendu
<!DOCTYPE html> <html> <head> <title>Vue的render方法说明</title> <script src="vue.js"></script> </head> <body> <p id="app"> <child :level="1"> hello world </child> </p> <script type="text/javascript"> Vue.component('child', { render:function (createElement) { var body=this.$slots.default; //this.$slots返回了一个组件分发下来的元素和内容 //this.$slots.default返回了具名的内容 return createElement( 'h'+this.level, //this.level是利用v-bind注入到组件中的level body ) }, //因为vue中组件父组件无法向子组件注入内容。所以我们需要通过 //v-bind定义一个key,value向子组件注入内容。所要接收的值也需要在定义组件时的props属性中的定义一下 props:{ level:{ } } }); new Vue({ el: "#app" }) </script> </body> </html>
Ce qui suit est une démo du slot nommé distribution : Présentation de l'utilisation de createElement :
<!DOCTYPE html> <html> <head> <title>Vue的render方法说明</title> <script src="vue.js"></script> </head> <body> <p id="app"> <child> <p slot="header">this is header</p> <p slot="center">this is center</p> <p slot="footer">this is footer</p> </child> </p> <script type="text/javascript"> Vue.component('child', { render: function (createElement) { var header=this.$slots.header; var center=this.$slots.center; var footer=this.$slots.footer; //createElement第一个参数是标签名,第二个参数是值 return createElement('p',[ createElement('p', header), createElement('p', center), createElement('p', footer), ]) } }); new Vue({ el: "#app" }) </script> </body> </html>
Les résultats de la démonstration du composant créé sont les suivants :
Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !
Lecture recommandée :
Affichage de marqueurs et de polylignes sur Baidu Maps
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!