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知识库 -> 脚手架的使用与组件自定义事件 -> 正文阅读

[JavaScript知识库]脚手架的使用与组件自定义事件

学了组件的概念与使用规则

接下来就需要搭配脚手架

一旦搭配上脚手架我们对于Vue框架的使用就会如虎添翼!

目录

脚手架Vue CLI

定义

分析脚手架的构成

组件自定义事件

组件自定义事件的绑定

组件自定义事件的解绑

总结


脚手架Vue CLI

定义

是命令行的接口工具。

分析脚手架的构成

脚手架安装好后,在VScode中就是如下展现:

在脚手架中有些是默认配置不可更改的,public文件夹src文件夹main.js不可更改。

src文件夹

src文件夹中含有assets文件夹和components组件。

assets文件夹用于存放静态资源,比如:视频、图片

components文件夹用于存放vue结尾的文件 除了app.vue这个文件其他都放在components文件夹里面

public文件夹

public文件夹中含有favico.ico和index.html。

此时这里面的index.html是整个页面的界面

在index.html里面有一个注意点:
? ? <link rel="icon" href="<%= BASE_URL %>favicon.ico">
//<%= BASE_URL %>表示index.html引入public文件夹里的内容代替了原来的?./?

?其他属性和配置

ref属性

作用:用于节点打标识,简单理解就是 可以获取dom节点的元素。

props属性

作用:让组件接收外部传过来的数据(就是接收模板里面的name、age、sex等用户输入的数据)。

mixin混入

作用:可以把多个组件共用的配置提取成一个混入对象。

plugin插件

作用:用于增强Vue。

本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。

scoped样式

作用:让样式在局部生效,防止冲突。

组件自定义事件

组件自定义事件的绑定

Vue的自定义组件使用场景:A是父组件,B是子组件,B子组件想给A父组件传数据,那么就要在A父组件中给B子组件绑定自定义事件(事件的回调在A父组件中)。

组件自定义事件的作用:通过父组件提前给子组件传递一个函数(方法),子组件使用该函数,利用传递参数的形式给父组件传值,回调在父组件中。

先是在父组件App.vue自定义一个事件

<!--通过父组件给子组件绑定一个自定义事件实现:子给父传递数据(第一种写法,使用@或v-on)-->
<Student @atguigu="getStudentName" @demo="m1"/>
//getStudentName是一个函数方法

?在子组件???????Student.vue这个文件夹中绑定了事件并且在它的methods中写好方法:

methods: {
			add(){
				console.log('add回调被调用了')
                //这里的this就是此时Student.vue中的事件number自加1
				this.number++
			},
			sendStudentlName(){
				//触发Student组件实例身上的atguigu事件  
                //this在这指的就是实例对象vc
				this.$emit('atguigu',this.name,666,888,900)
				// this.$emit('demo')
				// this.$emit('click')
			},
			unbind(){
				this.$off('atguigu') //解绑一个自定义事件
				// this.$off(['atguigu','demo']) //解绑多个自定义事件
				// this.$off() //解绑所有的自定义事件
			},
			death(){
				this.$destroy() //销毁了当前Student组件的实例,销毁后所有Student实例的自定义事件全都不奏效。
			}
		},

?效果:当在子组件Student.vue中绑定事件(比如说点击按钮)后就能得到相应的方法效果,然后通过在父组件中自定义的事件atguigu这个事件返回到父组件中,父组件中@atguigu="getStudentName"再调用App.vue这个父组件里面的getStudentName这个方法。(这个过程就是子组件传给父组件

methods: {
			getSchoolName(name){
				console.log('App收到了学校名:',name)
			},
			getStudentName(name,...params){
				console.log('App收到了学生名:',name,params)
				this.studentName = name
			},
			m1(){
				console.log('demo事件被触发了!')
			},
			show(){
				alert(123)
			}
		},
//调用的函数方法在app.vue父组件中

组件自定义事件的解绑

若想解绑事件有以下几个方法

🎗? ?解绑一个自定义事件:this.$off('atguigu')

🎗? ?解绑多个自定义事件:this.$off(['atguigu', 'demo'])

🎗? ?解绑所有的自定义事件:this.$off()

?组件上可以绑定原生DOM事件,需要使用native修饰符

<Student ref = "student" @click.native="show">

注意点:

通过this.$ref.xxx.$on('atguigu',回调)。绑定自定义事件时,回调要么配置在methods中要么用箭头函数,否则this指向会出问题?。


总结

?以上内容就是近期学习总结!

?

💕~ENDING~🎉

  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2022-04-26 11:33:45  更:2022-04-26 11:34:45 
 
开发: 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/24 2:04:25-

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