[Vue组件及组件之间的通信]一.Vue脚手架的使用;二.Vue的组件和组件之间的通信

news2024/11/8 16:47:45

目录

一.Vue脚手架的使用

1.通过命令行使用vue-cli的指令创建:vue init webpack 项目名称

2使用webStorm软件:本质仍然使用vue脚手架

3.使用vue ui创建:vue提供的图形化的操作界面

二.Vue的组件和组件之间的通信

1.组件:是vue的重要的特征之一,可以扩展html的功能,也可以封装代码实现重复使用。

2.组件的创建:

(1)非脚手架方式下创建:

(2)使用template创建组件

(2)在WebStorm中使用脚手架创建组件:

3.组件中的data:

(1)每个组件都有自己的数据:即每个组件都有自己的data

(2)vue实例的data和组件的data的区别:

4.组件中的methods:和vue实例中的methods用法相同

5.Vue组件之间的通信(组件之间的数据传递)

(1)Vue组件之间的关系:

(2)父组件向子组件传递数据:通过props方式向子组件传递数据(在子组件中添加props属性)

(3)子组件向父组件传值:是通过事件的形式来实现 


一.Vue脚手架的使用

1.通过命令行使用vue-cli的指令创建:vue init webpack 项目名称

        build文件夹: 用于webpack打包配置文件夹

        config文件夹:与webpack相关的配置文件夹

        |—— index.js:可以改变项目默认的端口号

        node_moudles:npm 安装的支持项目运行的库

        src文件夹:项目源代码目录

        |—— assets:资源目录,存放图片、css、js文件等

        |—— components:组件文件夹,用来存放用户自定义的组件

        |—— router:路由文件夹,用来存放路由文件

        ​|—— App.vue:根组件。可以包含其他组件

        |—— main.js:vue项目的入口js文件

        static文件夹:用来存放静态资源

        index.html:vue项目的页面文件(首页)

        package.json:npm的配置文件(所有包的信息)

2使用webStorm软件:本质仍然使用vue脚手架

        public文件夹:

        ​|—— index.html:Vue项目的入口文件

        src文件夹:

        |—— assets:资源目录,存放图片、css、js文件等

        |—— components:组件文件夹,用来存放用户自定义的组件

        |—— App.vue:根组件。可以包含其他组件

        |—— main.js:vue项目的入口js文件

        package.json:npm的配置文件(所有包的信息)

        vue.config.js:vue项目自身的配置文件

3.使用vue ui创建:vue提供的图形化的操作界面

        vue ui

二.Vue的组件和组件之间的通信

1.组件:是vue的重要的特征之一,可以扩展html的功能,也可以封装代码实现重复使用。

2.组件的创建:

(1)非脚手架方式下创建:

        ​第一步:使用Vue.extend创建组件

        第二步:使用Vue.component注册组件

        第三步:在html页面中使用组件

    <div id="app">
        <my-com></my-com>  <!-- 使用组件:名称之间用'-'连接  -->
    </div>
    <script>
        //第一步:使用Vue.extend创建组件
        var mycom = Vue.extend({
            template:'<h2>蜗牛学苑</h2>'   //template:指定页面中要展示的html结构
        })
        //第二步:使用Vue.component注册组件
        Vue.component('myCom',mycom)  //'myCom'是注册的组件名,在注册时采用驼峰命名
        new Vue({
            el:'#app'
        })
    </script>

(2)使用template创建组件

        第一步:使用template创建html页面模板,并给template定义id属性

        第二步:使用template的id属性值进行注册

强调:在Vue实例外部通过Vue.component创建或注册的组件称为全局组件

局部组件:创建方式和全局组件的创建方式一样,注册时必须放在Vue实例内部通过components完成

(2)在WebStorm中使用脚手架创建组件:

        第一步:创建Vue component,组件命名采用驼峰命名

3.组件中的data:

(1)每个组件都有自己的数据:即每个组件都有自己的data

(2)vue实例的data和组件的data的区别:

        A.vue实例的data是一个对象

        B.组件的data必须是一个方法,该方法必须返回一个对象

C.vue实例中的data和组件中data在使用方法上是一样的

4.组件中的methods:和vue实例中的methods用法相同

课堂练习1:定义一个Vue组件,组件的名称是StudentInfo,在该组件中显示3条学生信息(编号、姓名、性别、地址)

5.Vue组件之间的通信(组件之间的数据传递)

(1)Vue组件之间的关系:

        A.父子关系:A组件和B组件、B组件和C组件、B组件和D组件

        B.兄弟关系:C组件和D组件

        C.隔代关系:A组件和C组件、A组件和D组件

(2)父组件向子组件传递数据:通过props方式向子组件传递数据(在子组件中添加props属性)

        父组件:App.vue

        子组件:Son.vue

        App.vue ——-users数组 ———> Son.vue

(3)子组件向父组件传值:是通过事件的形式来实现 

课堂练习2:在子组件中定义input,将input的值传递给父组件 

 子组件:son.vue

//子组件:son.vue
<template>
   <div>
     <label>
       子组件:<input  v-model="sonInfo" @input="sendInfo"/>
     </label>
   </div>
</template>
<script>
export default {
  name: "Son",
  data(){
    return {
      sonInfo: ''
    }
  },
  methods: {
    sendInfo(){
      //$emit方法:第一个参数是触发的事件名,第二个参数是子组件发生给父组件的数据
      this.$emit('changeInfo',this.sonInfo)
    }
  }
}
</script>

父组件:App.vue

//父组件:App.vue
<template>
  <div id="app">
    <img alt="Vue logo" src="./assets/logo.png">
    <h2>父组件接收子组件的信息:{{ title }}</h2>
    <hr/>
    <Son v-on:changeInfo="updateTitle"/>
  </div>
</template>
<script>
import Son from './components/Son'
export default {
  name: 'App',
  components: {
    Son
  },
  data(){
    return {
      title:''
    }
  },
  methods:{
    updateTitle(e){ //参数e:接收的是子组件传递过来的数据
      this.title = e
    }
  }
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/141943.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字签名与签名验证过程

1.1 生成数字签名 1 利用RSA算法生成公钥、私钥。私钥由密钥持有者自主保存&#xff0c;公钥可对外发布。 2 准备好待签名的文档。 3 利用哈希算法&#xff08;HASH&#xff09;&#xff0c;生成待签名文档的摘要。&#xff08;文档摘要&#xff09; 4 利用签名者的私钥&am…

谷粒学院——第十八章、统计分析

准备工作 需求分析 1、统计在线教育项目中&#xff0c;每一天有多少注册人数 2、把统计出来的注册人数&#xff0c;使用图表显示出来 创建数据库表 创建工程 service_statistics 配置文件 # 服务端口 server.port8008# 服务名 spring.application.nameservice-statistic…

Python基础(二十一):面向对象深入了解

文章目录 面向对象深入了解 一、魔法方法 1、__init__() 2、__str__() 3、__del__()

数据结构入门——二叉树(C语言实现)

数据结构入门——二叉树一. 树概念及结构1.1 树的概念1.2 树的相关概念1.3 树的表示1.4 树的应用二. 二叉树概念及结构2.1 二叉树的概念2.2 特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储结构三. 二叉树的顺序结构及其实现(堆的实现)3.1 二叉树的顺序结构3.2 堆的实现(以大堆为…

要想宝宝吃得好,粮仓就要保护好,做好3点保护粮仓,防止皲裂

众所周知&#xff0c;母乳喂养的妈妈并不容易&#xff0c;因为母乳喂养也有很多“难题”&#xff0c;也会很痛&#xff0c;比如开奶痛、挂奶、堵奶等&#xff0c;疼痛的程度不亚于子宫收缩。还有一个&#xff0c;牛奶&#xff0c;牛奶。.头皲裂的时候&#xff0c;真的是含泪喂奶…

Python实现可视化大屏数据

参考网址如下&#xff1a; 【Python】全网最新最全Pyecharts可视化教程(三)&#xff1a;制作多个子图_51CTO博客_python数据可视化pyecharts使用pyecharts拖拉&#xff0c;拽&#xff0c;创建大屏展示 - 简书 (jianshu.com) 智慧大屏是如何实现数据可视化的&#xff1f; - 知…

调查问卷考试问卷创建生成工具助手小程序开发

调查问卷考试问卷创建生成工具助手小程序开发 问卷调查考试软件&#xff0c;可以自由让每一个用户自由发起调查问卷、考试问卷。发布的问卷允许控制问卷的搜集、回答等各个环节的设置&#xff0c;同时支持系统模板问卷&#xff0c;选用模板问卷后可以一键创建属于自己的问卷&a…

JVM基础知识总结

日常工作中接触到的jvm相关的知识&#xff0c;和jvm相关书籍中汇总总结一下jvm相关基础知识&#xff0c;作为对jvm的了解。 文章目录jvm运行时数据区域程序计数器java虚拟机栈堆heap非堆内存 nonheap方法区直接内存 Direct Memory类加载机制类的加载过程类加载器加载过程的详细…

阿里云网络解决方案架构师任江波:全球一张网,支撑游戏业务高效互联

2022 年 8 月 30 日&#xff0c;阿里云用户组&#xff08;AUG&#xff09;第 9 期活动在北京举办。活动现场&#xff0c;阿里云网络解决方案架构师任江波&#xff0c;向参会企业代表分享了全球一张网&#xff0c;支撑游戏业务高效互联。本文根据演讲内容整理而成。 在座的很多我…

Web3中文|年度回顾:2022年Web3的发展情况

老生常谈的话题都有一个共同点&#xff0c;那就是它总是包含着一些无趣但至关重要的真理。例如&#xff0c;众所皆知天空是蓝色的&#xff0c;所以大家并不会把它纳入日常讨论&#xff0c;但这并不代表它对物理学、生物学和其他学科而言没有价值。 当我们回望2022年的Web3领域…

docker 部署maven服务器,并将代码发布到maven服务器,并kie-server关联

书接上文 已经搭建好了kie-server的docker swarm集群. 没有搭建business-central是集群是因为这是个页面的可视化的开发环境 一来面向开发人员,不需要集群部署 二来他的数据是放在本地的git服务器上的. 所以每个node的数据不会统一 三来部署好了之后页面也打不开… 四来busines…

推荐系统入门学习(一)【小白入门系列】

推荐系统入门学习&#xff08;一&#xff09; 前言&#xff1a;本博客不会采取大量的难懂的语言来介绍推荐系统&#xff0c;只会用一些简单的方式来介绍推荐系统&#xff0c;祝学习愉快&#xff01; 1、推荐系统的概念 简单的说&#xff0c;推荐系统则是将产品推荐给用户的一…

判断点在多边形内部

一、问题描述已知点P(x,y)和多边形polygon&#xff0c;判断点P(x,y)是否在多边形内部。二、解决方案射线法以点P为端点&#xff0c;向左方作射线L&#xff0c;由于多边形是有界的&#xff0c;所以射线L的左端一定在多边形外部。考虑沿着L从无究远处开始自左向右移动&#xff0c…

Android 更改鼠标样式

定义风格 鼠标风格定义位置&#xff1a;\frameworks\base\core\res\res\values\styles.xml 系统定义了两套鼠标的风格&#xff0c;一套是默认&#xff0c;一套是放大的图标的风格&#xff0c;在下面增加自己的鼠标风格图标 <style name"BluePointer"><ite…

Springboot Controller接口默认自动填充 业务实体参数值

前言 今天看有小伙伴求救&#xff1a; 我还是一贯如此&#xff0c; 有人不明白&#xff0c;没玩过HandlerMethodArgumentResolver 。 那么很可能不止他一个人&#xff0c; 那么我就有必要出手。 不多说&#xff0c;开搞。 正文 快速模拟出这个使用场景 &#xff1a; 假如有好多…

Allegro174版本新功能介绍之动态铜皮Fast模式设置

Allegro174版本新功能介绍之动态铜皮Fast模式设置 Allegro升级到了174版本后,相比于172版本把动态铜皮的FAST模式优化的更为到位,据介绍,铜皮smooth的时间可以缩短非常多,尤其是针对于数据量非常大PCB,效率提升不少,但是在出生产文件的时候,铜皮还是必须Smooth,见下面o…

Odoo 16 企业版手册 - 库存管理之作业类型

作业类型 Odoo库存模块是有效管理所有类型库存操作的最佳选择。为公司的库存管理提供适当的支持对于完美地运营业务至关重要。当我们谈论Odoo是库存管理的完美解决方案时&#xff0c;您会好奇它提供的功能。在本节中&#xff0c;我们将使用专用库存模块详细介绍Odoo管理的库存操…

Vue(七) 生命周期和组件(一)

目录 1. 生命周期 1.1 引出生命周期 1.2 生命周期——挂载流程 1.3 生命周期——更新流程 1.4 生命周期——销毁流程 1.5 总结 2. 非单文件组件 2.1 对组建的理解 2.2 非单文件组件 2.3 组件的注意点 2.4 组件的嵌套 2.5 VueComponent构造函数 1. 生命周期 生命周期…

正版授权|FastStone Image Viewer 图像编辑转换浏览器软件,个人免费的图像浏览器、转换器和编辑器。

前言&#xff1a;快速、稳定、用户友好的图像浏览器、转换器和编辑器。它具有一系列不错的功能&#xff0c;包括图像查看、管理、比较、红眼去除、电子邮件、调整大小、裁剪、修饰和颜色调整。以下是软件页面。 FastStone Image Viewer 是一个快速、稳定、用户友好的图像浏览器…

软件安全测试需要考虑哪些问题?看看专业软件测评中心怎么说

互联网信息时代&#xff0c;软件产品为我们的生活和工作中带来了极大的便利。我们使用的软件都有包含个人资料以及各类信息等安全因素&#xff0c;因此软件的安全问题是用户最为关注的话题之一。可以有效保障软件产品安全的的关键手段便是软件安全测试&#xff0c;那么在进行软…