IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> vue组件以及组件通信 -> 正文阅读

[JavaScript知识库]vue组件以及组件通信

组件-简介

组件:组件是可复用的 Vue 实例, 封装标签, 样式和JS代码
组件化 :封装的思想,把页面上 可重用的部分 封装为 组件,从而方便项目的 开发 和 维护,一个页面, 可以拆分成一个个组件,一个组件就是一个整体, 每个组件可以有自己独立的 结构 样式 和 行为(html, css和js)
什么时候封装组件? 遇到重复标签, 可复用的时候
组件好处? 各自独立, 互不影响

组件使用

每个组件都是一个独立的个体, 代码里体现为一个独立的.vue文件
创建和使用组件步骤

  1. 创建.vue文件–标签–样式–JS进去
  2. 导入组件(import xxx from ‘path/to/components/xxx.vue’)
  3. 注册组件(全局/ 局部)
    全局 语法: Vue.component("组件名", 组件对象)
    局部 语法:export default { components: { "组件名": 组件对象 } }
  4. 使用组件(组件名用作标签),写在template中

组件通信

因为每个组件的变量和值都是独立的

组件通信先介绍父传子, 子传父

父: 使用其他组件的vue文件

子: 被引入的组件(嵌入)

父向子

  1. 什么时候需要父传子技术?
    从一个vue组件里把值传给另一个vue组件(父->子)
  2. 父传子口诀(步骤)是什么?
    子组件内, props定义变量, 在子组件使用变量
    父组件内, 使用子组件, 属性方式给props变量传值

  3. 子组件代码
<template> 
 <div class="my-product">    
 <h3>标题: {{ title }}</h3>    
 <p>价格: {{ price }}</p>    
 <p>{{ intro }}</p>  
 </div></template>
 ?<script>
 export default {  
 props: ['title', 'price', 'intro']}
 </script>
 ?<style>
 .my-product {  width: 400px; 
  padding: 20px;  
  border: 2px solid #000;  
  border-radius: 5px;  
  margin: 10px;}
  </style>

App.vue中使用并传入数据

<template>
  <div>
    <!-- 
      目标: (App.vue) -> (MyProduct.vue) 分别传值进入
      需求: 每次组件显示不同的数据信息
      步骤(口诀):
        1. 子组件 - props - 变量 (准备接收)
        2. 父组件 - 传值进去
     -->
    <Product title="好吃的口水鸡" price="50" intro="开业大酬宾, 全场8折"></Product>
    <Product title="好可爱的可爱多" price="20" intro="老板不在家, 全场1折"></Product>
    <Product title="好贵的北京烤鸭" price="290" :intro="str"></Product>
  </div>
</template>

<script>
// 1. 创建组件 (.vue文件)
// 2. 引入组件
import Product from './components/MyProduct'
export default {
  data(){
    return {
      str: "好贵啊, 快来啊, 好吃"
    }
  },
  // 3. 注册组件
  components: {
    // Product: Product // key和value变量名同名 - 简写
    Product
  }
}
</script>

<style>

</style>

子向父

从子组件把值传出来给外面使用
语法:

  • 父: @自定义事件名=“父methods函数”
  • 子: this.$emit(“自定义事件名”, 传值) - 执行父methods里函数代码
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 12:46:00  更:2021-10-04 12:48:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:45:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码