Vue-cli创建项目的目录结构与子父组件之间的通信

news2024/11/28 4:44:31

一、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>Hello World</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完成

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

  <template>
      //必须有一个html的标签作为模板的根标签
  </template>
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)子组件向父组件传值:是通过事件的形式来实现

示例:子组件向父组件传递数据

在子组件中定义input,将input的值传递给父组件

//子组件: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
<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/142914.html

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

相关文章

Vue3/ Vite 的使用介绍 、Vite 方式工作流程 与 传统方式工作流程区别

一. Vite 的使用介绍 优势: &#x1f4a1;极速的服务启动 使用了原生的 ESM文件 无需打包 ⚡️ 轻量快速的热重在 始终极快的模块热重载 &#x1f6e0;️丰富的功能 对于 typescript jsx css 等支持开箱即用 &#x1f4e6; 等等 二.Vite 方式工作流程 与 传统方式工作流程…

千万不要把Request传递到异步线程里面!有坑!

前几天在网上冲浪的时候看到一篇技术文章&#xff0c;讲的是他把一个 request 请求传递到了线程池里面&#xff0c;然后遇到了一个匪夷所思的情况。 他写了这篇文章&#xff0c;把自己针对这个问题的探索过程分享了出来&#xff1a; 《springboot 中如何正确的在异步线程中使用…

ACL命名实验

目录 一.ACL命名实验 1.实验要求&#xff1a; 2.配置全网通 配置主机地址 3.根据实验要求配置ACL 4.测试完成后再根据下一次要求继续配置 一.ACL命名实验 实验图片 1.实验要求&#xff1a; 要求 全网通 服务器上配置 web 服务和 ftp 服务 配置 命名的acl 列表 …

_Linux 进程信号-信号保存篇

文章目录前言阻塞信号1. 信号常见概念2. 在内核中的表示信号处理过程3. sigset_t4. 信号集操作函数sigprocmasksigpending5. 测试与验证实验一实验二实验三前言 上篇文章&#xff08;链接: _Linux 进程信号-基础篇&#xff09;我们了解了信号的基础概念以及信号如何发送的。 …

强化学习_06_pytorch-PPO实践(Pendulum-v1)

一、PPO简介 TRPO(Trust Range Policy Optimate)算法每一步更新都需要大量的运算&#xff0c;于是便有其改进版本PPO在2017年被提出。PPO 基于 TRPO 的思想&#xff0c;但是其算法实现更加简单。TRPO 使用泰勒展开近似、共轭梯度、线性搜索等方法直接求解。PPO 的优化目标与 T…

可观测性--数据源

文章目录监控数据来源端上访问应用程序业务监控基础设施可观测性核心概念日志&#xff08;Logging&#xff09;统计指标&#xff08;Metrics&#xff09;链路追踪&#xff08;Tracing&#xff09;三者之间关系监控数据来源 我们一般讲的数据观测&#xff0c;其实观测的就是从发…

【Linux】计算机软硬件体系结构

文章目录冯诺依曼体系结构操作系统(Operator System)什么是操作系统为什么要有操作系统操作系统是怎么实现管理的系统调用接口和库函数总结冯诺依曼体系结构 谈到计算机的硬件结构&#xff0c;第一个想到的必然是经典的冯诺依曼体系结构&#xff1a; 我们常见的计算机&#xf…

在购买低代码产品时,源码是必需的吗?

编者按&#xff1a;企业在采购软件或者平台时&#xff0c;到底需不需要源码&#xff1f;本文分析了源码交付的对于不同规模和情况企业的意义&#xff0c;并介绍了源码交付的低代码平台。关键词&#xff1a;源码交付&#xff0c;可视化设计&#xff0c;私有化部署&#xff0c;多…

数据上线:首届6G智能无线通信系统大赛OPPO赛道评测正式开启

12月26日&#xff0c;首届6G智能无线通信系统大赛——面向小样本条件场景自适应及在线更新需求的无线AI设计赛题已经正式上线&#xff0c;数据集也已经在1月3日正式上线啦&#xff0c;评测同步开启&#xff0c;快来打擂冲榜&#xff01; 文末还将揭晓本赛题专属活动&#xff0…

图像锐化处理之一阶微分算子

图像锐化是通过增强图像的边缘和细节来提高图像的清晰度的操作。这种操作通常用于将模糊或不清晰的图像改进为更清晰的图像。由于微分是对函数局部变化率的一种描述&#xff0c;因此图像锐化算法的实现可基于空间微分。 一阶微分算子 对任意一阶微分的定义必须满足两点&#xf…

采用热电偶温度传感器实现超高精度温度跟踪控制的解决方案

摘要&#xff1a;针对温度跟踪控制中存在热电堆信号小致使控制器温度跟踪控制精度差&#xff0c;以及热电阻形式的温度跟踪控制中需要额外配置惠斯特电桥进行转换的问题&#xff0c;本文提出相应的解决方案。解决方案的核心是采用一个多功能的超高精度PID控制器&#xff0c;具有…

ubuntu18.04安装mysql5.7.32

目录一、下载mysql安装包二、下载依赖三、安装mysql四、导入sql一、下载mysql安装包 下载地址&#xff1a;https://downloads.mysql.com/archives/community/ 下载包 mysql-server_5.7.32-1ubuntu18.04_amd64.deb-bundle.tar 下载后解压&#xff0c;里面包含要安装的deb包 二、…

计算机编码

字符的表示原理 计算机内所有信息都是使用0和1进行表示的。 对于一个短路来说&#xff0c;0代表关&#xff0c;1代表开。那把这些电路组合起来就可以有长串0和1组成的二进制数字&#xff0c;我们对这些数字进行编码和解码&#xff0c;我们就能用它来表示我们想要表示的东西了…

蓝牙模块芯片串口透传的AT指令模式和波特率是什么意思

一、什么是蓝牙串口透传模块的模式 蓝牙串口模块&#xff0c;一般都会有两个模式&#xff0c;即AT指令模式&#xff0c;以及透传模式 1、有的模块&#xff0c;会通过一个GPIO口来选择当前是什么模式&#xff0c;比如将一个IO口拉低则进入透传模式&#xff0c;也就是不再识别A…

element-ui 表格el-table高度不是一个固定值时固定表头

elementui中为表格组件提供了height属性实现固定表头 height可以为数字或者字符串&#xff0c;当为一个数字时表示固定的高度&#xff0c;也可以为百分比等字符串。 当height不是一个固定值时&#xff0c;如期望表格可以填充完页面剩余空间&#xff0c;并且固定表头时&#x…

Mysql之常见可视化管理工具

mysql在日常开发中作为基础软件&#xff0c;对其数据的管理必不可少&#xff0c;除了系统自带的命令行管理工具之外&#xff0c;还有许多其他的图形化管理工具&#xff0c;下面介绍常见的mysql图形化管理工具。 1、Navicat Navicat 是一个桌面版 MySQL 数据库管理和开发工具。…

【Linux操作系统】程序的编译和动静态链接

文章目录一.编译写在前面1.预处理2.编译3.汇编二.(动静态)链接1.动态链接2.静态链接3.静态链接库的下载安装4.windows下动静态库的后缀一.编译 写在前面 编译这整个过程都只是在编译你自己写的代码,直到链接才让你的代码和库的代码关联起来,最终形成可执行程序 源程序到可执行…

靶机测试Os-ByteSec笔记

靶机测试Os-ByteSec笔记 靶机描述 Back to the Top Difficulty : Intermediate Flag : 2 Flag first user And second root Learning : exploit | SMB | Enumration | Stenography | Privilege Escalation Contact … https://www.linkedin.com/in/rahulgehlaut/ This w…

EXSi root密码忘记通过centos7镜像破解

1.安装软碟通UltraISO刻录U盘启动盘 下载阿里云centos7镜像&#xff0c;选择mini的链接&#xff1a;https://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/CentOS-7-x86_64-Minimal-2207-02.iso?spma2c6h.25603864.0.0.28f76aeapbXyYT 打开软碟通&#xff0c;打开下载的…

C语言宏定义立即数后缀U的含义

背景 在看开源的相关代码中&#xff0c;会有下面的宏定义用法 #define TEST_VALUE (0xFFFFFFFFU) 其和下面的宏定义区别是什么呢&#xff1f; #define TEST_VALUE (0xFFFFFFFF) 答疑 U表示 unsigned 无符号后缀&#xff0c;关于后缀的表述C99标准有如下定义&…