Vue学习之旅----非父子组件传值及交互

本文深入探讨了Vue中非父子组件间的通信技巧,包括引入VueEvent进行广播通信的方法,展示了如何在不同组件间有效传递数据,实现复杂应用的组件交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 // 非父子组件传值

// 1 引入vueEvent

// 2 VueEvent.$emit('to-news', this.msg) 广播组件

// 3 在news组件里接收

import Vue from 'vue'
const VueEvent = new Vue()
export default VueEvent
<template>
  <div>Home
    <button @click="getHomeData()">Home请求数据</button>
    <ul>
      <li v-for="(item,key) in list" :key=key>
        {{item.title}}
      </li>
    </ul>
    <!-- 给子组件传值绑定title属性 -->
    <v-header :title='title' :run="run" :home="this" ref='header'></v-header>
    <button @click="getSonData()">主动获取子组件的属性和方法</button>
    <br>
    <hr>
    <!-- 非父子组件通讯 -->
    <button @click="emitNews()">非父子组件传值----给news组件传值</button>
    <hr>
    <v-life v-if="flag"></v-life>
    <button @click="flag=!flag">挂载和卸载组件</button>
  </div>
</template>
<script>
// 父组件给子组件传值
//     1.父组件调用子组件的时候 绑定动态属性
//     <v-header :title="title"></v-header>
// 2、在子组件里面通过 props接收父组件传过来的数据
//     props:['title']
//     props:{
//         'title': String}
// 3.直接在子组件里面使用

// 父组件主动获取子组件的数据和方法:
//     1.调用子组件的时候定义一个ref
//         <v-header ref="header"></v-header>
//     2.在父组件里面通过
//         this.$refs.header.属性
//         this.$refs.header.方法

// 子组件主动获取父组件的数据和方法:
//         this.$parent.数据
//         this.$parent.方法

// 非父子组件传值
// 1 引入vueEvent
// 2 VueEvent.$emit('to-news', this.msg) 广播组件
// 3 在news组件里接收
import VueEvent from '../model/VueEvent.js'
import Header from './Header.vue'
import Life from './Life.vue'
import Axios from 'axios'
export default {
  data () {
    return {
      msg: 'home',
      flag: true,
      list: [],
      title: '父组件要传给子组件的值'
    }
  },
  components: {
    'v-header': Header,
    'v-life': Life
  },
  methods: {
    getHomeData () {
      // 请求数据
      var api = 'http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1'
      Axios.get(api).then((response) => {
        this.list = response.data.result
      }).catch((error) => {
        console.log(error)
      })
    },
    run (data) {
      // 子组件通过执行run方法传递过来的值
      console.log(data)
      alert('我是父组件的run方法')
    },
    getSonData () {
      alert(this.$refs.header.msg)
      this.$refs.header.sonRun()
    },
    emitNews () {
      // 广播组件
      VueEvent.$emit('to-news', this.msg)
    }
  },
  mounted () {
    VueEvent.$on('to-home', (data) => {
      console.log(data)
    })
  }
}
</script>
<style lang="css" scope>
</style>
<template>
  <div>
    <hr>
    <h2>新闻组件-------非父子组件传值</h2>
    <button @click="emitHome()">给home组件广播-非父子组件传值</button>
    <hr>
  </div>
</template>
<script>
import VueEvent from '../model/VueEvent.js'
export default {
  data () {
    return {
      msg: '我是新闻组件'
    }
  },
  methods: {
    // 广播
    emitHome () {
      VueEvent.$emit('to-home', this.msg)
    }
  },
  mounted () {
    VueEvent.$on('to-news', (data) => {
      console.log(data)
    })
  }
}
</script>
<style scoped>
</style>

 

内容概要:本文档是关于基于Tecnomatix的废旧智能手机拆解产线建模与虚拟调试的毕业设计任务书。研究内容主要包括:分析废旧智能手机拆解工艺流程;学习并使用Tecnomatix软件搭建拆解产线的三维模型,包括设备、输送装置等;进行虚拟调试以模拟各种故障情况,并对结果进行分析提出优化建议。研究周期为16周,涵盖了文献调研、拆解实验、软件学习、建模、调试和论文撰写等阶段。文中还提供了Python代码来模拟部分关键流程,如拆解顺序分析、产线布局设计、虚拟调试过程、故障模拟与分析等,并实现了结果的可视化展示。 适合人群:本任务书适用于机械工程、工业自动化及相关专业的本科毕业生,尤其是那些对智能制造、生产线优化及虚拟调试感兴趣的学生。 使用场景及目标:①帮助学生掌握Tecnomatix软件的应用技能;②通过实际项目锻炼学生的系统建模和虚拟调试能力;③培养学生解决复杂工程问题的能力,提高其对废旧电子产品回收再利用的认识和技术水平;④为后续的研究或工作打下坚实的基础,比如从事智能工厂规划、生产线设计与优化等工作。 其他说明:虽然文中提供了部分Python代码用于模拟关键流程,但完整的产线建模仍需借助Tecnomatix商业软件完成。此外,为了更好地理解和应用这些内容,建议学生具备一定的编程基础(如Python),并熟悉相关领域的基础知识。
内容概要:本文档《Kotlin语言教程&案例之基础入门与核心应用》深入介绍了Kotlin这一现代编程语言的关键概念、核心技巧、应用场景及未来发展趋势。文档首先解析了Kotlin的核心概念,如空安全机制、扩展函数、数据类和协程等,强调了其简洁性、安全性和与Java的无缝交互。其次,通过类型推断和lambda表达式的实战讲解,展示了提升编程效率的方法。文档还列举了Kotlin在Android开发、后端服务、桌面应用和跨平台开发中的具体应用实例,特别是通过用户信息管理系统的代码案例,详细分析了数据类定义、扩展函数实现、协程处理异步查询以及密封类与when表达式的使用。最后展望了Kotlin的未来发展,包括多平台开发、与AI工具的集成以及在数据科学领域的潜力。; 适合人群:对编程有一定了解,尤其是对Java有基础,希望转向或深入了解Kotlin的开发者,以及对跨平台开发感兴趣的程序员。; 使用场景及目标:①学习Kotlin的核心概念,如空安全、扩展函数、数据类和协程等;②掌握提高编程效率的技巧,如类型推断和lambda表达式的使用;③理解Kotlin在不同应用场景下的实战案例,如Android开发、后端服务等;④探索Kotlin的未来发展方向,如多平台开发和与AI工具的集成。; 阅读建议:此资源不仅涵盖了Kotlin的基础理论,还包括大量实战案例,因此在学习过程中应结合实际代码进行练习,特别关注代码中的注释和逻辑,以便更好地理解和掌握Kotlin的特性和优势。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

瑞朋哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值