


vueBagaimana untuk berkomunikasi antara komponen ibu bapa dan anak? Artikel berikut akan memperkenalkan kepada anda cara komponen induk menghantar data kepada komponen anak, dan komponen anak menghantar data kepada komponen induk saya harap ia akan membantu anda!
Pembolehubah dan data dalam setiap komponen adalah bebas Bagaimana jika komponen lain ingin mengakses data dalam komponen lain?
Bagaimana untuk menyelesaikan komunikasi antara komponen?
Penyelesaian:
Anda boleh menggunakan komponen induk untuk menghantar data kepada komponen anak dan anda juga boleh menggunakan komponen anak untuk menghantar data kepada komponen induk. Pendek kata, ia diturunkan dari bapa kepada anak lelaki, dan dari anak kepada bapa. (Belajar perkongsian video: tutorial video vue)
Mari kita bincangkan secara terperinci tentang cara komponen induk menghantar data kepada komponen anak.
Bapa kepada anak
Teori: Jika komponen A memperkenalkan dan menggunakan komponen B yang lain, maka komponen A ialah komponen induk dan komponen B adalah subkomponen.
Proses pelaksanaan:
1.在父组件中引入子组件、注册子组件、使用子组件 2.在父组件中的子组件标签上自定义一个属性 左边是定义的名称,右边是父组件中的数据 例如 <MyCon :list="list" /> 3.在子组件中用prpos接收父组件传来的数据 例如:prpos:['list'] 注意这里面的名称必须要和父组件 定义的名称一致才能可以。
Rajah prinsip
Komponen induk Footer.vue
Sesuaikan sifat pada label komponen anak dalam komponen induk
<template> <div> <h1 id="父组件传子组件">父组件传子组件</h1> <!-- 使用组件 自定义属性 --> <MyCon :name="name" :age="age" /> </div> </template> <script> // 引入组件 --> 创建组件 --> 使用组件 // 引入组件 import MyCon from "./MyCon.vue"; export default { // 创建组件 components: { MyCon }, // 数据 data() { return { name: "张三", age: 38, }; }, }; </script>
Komponen anak MyCon.vue
Gunakan prpos dalam komponen anak untuk menerima data daripada komponen induk
<template> <div> <h2 id="子组件">子组件</h2> // 直接在标签中使用 <p>{{ name }} {{ age }}</p> <button @click="fn">点击修改props的值</button> </div> </template> <script> export default { // 子组件接收父组件传来的数据 props: ["name", "age"], methods: { fn() { this.name = "傻逼谭磊"; this.age = 20 }, }, }; </script>
Kes kecil menggunakan penghantaran ibu bapa ke anak
Komponen induk App.vue
<template> <div style="border: 1px solid #ccc; margin: 5px; padding: 5px"> <h1 id="父组件">父组件</h1> <!-- 1. 父传。自定义属性 --> <MyProduct v-for="item in list" :key="item.id" :price="item.proprice" :info="item.info" :goodname="item.proname" /> </div> </template> <script> // 导入->注册->使用 import MyProduct from "./MyProduct.vue"; export default { data() { return { list: [ { id: 1, proname: "超级好吃的棒棒糖", proprice: 18.8, info: "开业大酬宾, 全场8折", }, { id: 2, proname: "超级好吃的大鸡腿", proprice: 34.2, info: "好吃不腻, 快来买啊", }, { id: 3, proname: "超级无敌的冰激凌", proprice: 14.2, info: "炎热的夏天, 来个冰激凌了", }, ], }; }, components: { MyProduct }, }; </script> <style> </style>
Komponen kanak-kanak MyProduct.vue
<template> <div style="border: 1px solid #ccc; margin: 5px; padding: 5px"> <h2 id="标题-nbsp-nbsp-goodname-nbsp">标题: {{ goodname }}</h2> <p>价格: {{ price }}元</p> <p>{{ info }}</p> </div> </template> <script> export default { props: ["goodname", "price", "info"], }; </script> <style> </style>
Paparan kesan
Dari anak kepada bapa
Proses pelaksanaan
1.在父组件中引入子组件、注册子组件、使用子组件 2.在父组件的子组件标签上加一个事件监听 例如: <MyCon @abc="fn" /> 3.在子组件中触发这个自定义的监听事件。例如:this.$emit("abc",参数)
Rajah prinsip
Komponen induk App.vue
dalam induk komponen Tambahkan pendengar acara pada label subkomponen untuk menerima data menggunakan parameter formal
<template> <div> <h1 id="父组件">父组件</h1> <!-- 1.添加事件监听 --> <!-- 当子组件发生了abc事件要执行fn函数 --> <MyCon @abc="fn" /> </div> </template> <script> // 引入子组件 import MyCon from "./MyCon.vue"; export default { methods: { // 形参接收 fn(obj) { // 打印查看有没有获取到 console.log("fn发生了abc事件", obj); }, }, components: { MyCon }, }; </script>
subkomponen MyCon.vue
untuk mencetuskan acara pendengaran tersuai ini dalam subkomponen
<template> <div> <h2 id="子组件">子组件</h2> <button @click="ConFn">子传父</button> </div> </template> <script> export default { methods: { ConFn() { console.log("子组件click"); // 2.触发abc事件 this.$emit("abc", { name: "吊毛谭磊" }); }, }, }; </script>
Sarung produk menggunakan komponen induk
komponen induk App.vue
<template> <div style="border: 1px solid #ccc; margin: 5px; padding: 5px"> <h1 id="父组件">父组件</h1> <!-- 1. 父传。自定义属性 --> <!-- 添加自定义事件 --> <MyProduct v-for="(item, idx) in list" :idx="idx" :key="item.id" :price="item.proprice" :info="item.info" :goodname="item.proname" @pdd="fn" /> </div> </template> <script> // 导入->注册->使用 import MyProduct from "./MyProduct.vue"; export default { data() { return { list: [ { id: 1, proname: "超级好吃的棒棒糖", proprice: 18.8, info: "开业大酬宾, 全场8折", }, { id: 2, proname: "超级好吃的大鸡腿", proprice: 34.2, info: "好吃不腻, 快来买啊", }, { id: 3, proname: "超级无敌的冰激凌", proprice: 14.2, info: "炎热的夏天, 来个冰激凌了", }, ], }; }, components: { MyProduct }, methods: { fn(obj) { console.log("父组件,收到了pdd事件", obj); // 计算砍了几元 相减 再进行重新赋值 this.list[obj.idx].proprice -= obj.ran; }, }, }; </script> <style> </style>
Subkomponen MyProduct.vue
<template> <div style="border: 1px solid #ccc; margin: 5px; padding: 5px"> <h2 id="标题-nbsp-nbsp-goodname-nbsp">标题: {{ goodname }}</h2> <p>价格: {{ price }}元</p> <p>{{ info }}</p> <button @click="bargain">随机砍价</button> </div> </template> <script> export default { // 子接收 props: ["goodname", "price", "info", "idx"], methods: { bargain() { // 随机数字 const ran = Math.ceil(Math.random() * 10); // 触发自定义事件 // 为了知道具体是哪个商品要减少价格,所以要回传idx下标 this.$emit("pdd", { idx: this.idx, ran }); }, }, }; </script> <style> </style>
Paparan kesan
(Kongsi video pembelajaran: Pembangunan bahagian hadapan web, Video pengaturcaraan asas)
Atas ialah kandungan terperinci Bagaimana untuk berkomunikasi antara komponen ibu bapa dan anak Vue? (dengan contoh). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

vue中props可以传递函数;vue中可以将字符串、数组、数字和对象作为props传递,props主要用于组件的传值,目的为了接收外面传过来的数据,语法为“export default {methods: {myFunction() {// ...}}};”。

本篇文章带大家聊聊vue指令中的修饰符,对比一下vue中的指令修饰符和dom事件中的event对象,介绍一下常用的事件修饰符,希望对大家有所帮助!

如何覆盖组件库样式?下面本篇文章给大家介绍一下React和Vue项目中优雅地覆盖组件库样式的方法,希望对大家有所帮助!

react与vue的虚拟dom没有区别;react和vue的虚拟dom都是用js对象来模拟真实DOM,用虚拟DOM的diff来最小化更新真实DOM,可以减小不必要的性能损耗,按颗粒度分为不同的类型比较同层级dom节点,进行增、删、移的操作。


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Dreamweaver CS6
Alat pembangunan web visual

Versi Mac WebStorm
Alat pembangunan JavaScript yang berguna

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.