Cet article présente principalement le tutoriel détaillé de la fonction de transfert de composants parent-enfant de Vue2.0. Les amis dans le besoin peuvent s'y référer. J'espère que cela pourra aider tout le monde.
Qu'est-ce que Vue.js
Vue.js (prononcé /vjuː/, similaire à view) est un framework progressif pour la création d'interfaces utilisateur. Contrairement à d'autres frameworks lourds, Vue adopte une conception de développement incrémental ascendant. La bibliothèque principale de Vue se concentre uniquement sur la couche de vue. Elle est non seulement facile à démarrer, mais également facile à intégrer à des bibliothèques tierces ou à des projets existants. D'un autre côté, Vue est également entièrement capable d'alimenter des applications complexes d'une seule page lorsqu'elles sont combinées avec des composants et des bibliothèques à fichier unique pris en charge par l'écosystème Vue.
Notes d'étude : Dans vue2.0, lorsqu'un composant parent appelle un composant enfant, il veut transmettre le corps de la fonction dans le composant parent.
Par le biais d'accessoires : il doit l'être. transmis depuis le composant enfant Applicable lors du passage de paramètres au composant parent
// Composant parent.vue
<template> <p> <ok-input :params='number' :callback='callbackNum'></ok-input> </p> </template> <script type="text/ecmascript-6"> import okInput from '../ok-input/okinput.vue'; export default { props: {}, data() { return { number: {}, callbackNum: function (x) { console.log(x); } }; }, methods: { }, components: { 'ok-input': okInput } }; </script>
// Composant enfant.vue
<template> <p> <input v-model='numVal' @change='handleFun'></input> </p> </template> <script type="text/ecmascript-6"> import {Input, Select, Option, Button} from 'element-ui'; import 'element-ui/lib/theme-default/index.css'; export default { props: { params: { type: Object, default: { type: '' } }, callback: {} }, data() { return { x: 'hah', numVal: '' }; }, methods: { handleFun(val) { this.callback(val); // 将参数传回父组件中的回调函数 } }, components: { 'el-input': Input, } }; </script>
2. Pass $emit : Applicable uniquement lors de l'obtention de l'objet d'opération actuel
// 父组件.vue <template> <p> <ok-input :params='inputs' @change='handleAge'></ok-input> </p> </template> <script type="text/ecmascript-6"> import okInput from '../ok-input/okinput.vue'; export default { props: {}, data() { return { number: {} }; }, methods: { handleAge(evt) { console.log(evt.target.value); // 接收从子组件传过来的当前对象 } }, components: { 'ok-input': okInput } }; </script>
// subcomponent.vue
<template> <p> <input v-model='numVal' @blur='handleChange'></input> </p> </template> <script type="text/ecmascript-6"> import {Input, Select, Option, Button} from 'element-ui'; import 'element-ui/lib/theme-default/index.css'; export default { props: { params: { type: Object, default: { type: '' } }, callback: {} }, data() { return { x: 'hah', numVal: '' }; }, methods: { handleChange(evt) { this.$emit('change', evt); // 将当前对象 evt 传递到父组件 }, }, components: { 'el-input': Input, } }; </script>
Recommandations associées :
Explication détaillée des composants publics abstraits de Vue
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!