vue3.0入门(四):组件
组件
- 组件基础
<my-counter></my-counter>
const app = Vue.createApp({ // 根组件
data() {
return {}
}
})
//注册子组件my-counter
app.component('my-counter', {
data() {
return {}
},
template: ``,
methods: {
}
}).mount('dom节点')
- 通过props向子组件传值
<blog-post title='标题一'></blog-post>
app.component("blog-post",{
props: ['title'],
template: `<h3>{{title}}</h3>`
})
<!-- 动态绑定:通过props向子组件传值;将数组中的数据循环到组件-->
<blog-post
v-for="post in posts"
:key="post.id"
:title="post.title"
></blog-post>
- 监听子组件事件:单项数据流,父组件可向子组件传递的数据,反之则不行,父组件的数据改变时,子组件也会随之改变
app.component('blog-post1', { // 1.注册一个组件
props: ['title'],
template: `
<h3>{{title}}</h3>
<button @click='$emit("btn", title)'>按钮</button> // 2.emit方法传入事件名称btn,同时可传入参数
` ,
emits: ['btn'] // 3.数组中包含所有emit
})
<blog-post1 @btn='btn($event)'></blog-post> // 4.v-on:btn=btn() 第一个btn表示脚本部分自定义的事件名称,第二个btn()表示根组件的methods
<blog-post1 @btn='btn'></blog-post> //等同于上面的写法
const app = Vue.createApp({
data() {
return {}
},
methods: {
btn(e) { // 5.
// ...
}
}
})
插槽
const app = Vue.createApp({
})
app.component('alert-box', {
template: `
<div>Error:<slot></slot></div>
`
}).mount('#app')
<!-- 使用该组件时,组件中间使用的标签文本会替换slot-->
<alert-box><span>服务器异常</span></alert-box>
script模板
<!-- 相当于注册组件编写模板时,提取到一个script标签中-->
<script type='text/x-template' id='demo'>
<!-- 写入标签文本-->
</script>
const app = Vue.createApp({})
app.component('alert-box', {
template: `#demo`
}).mount('#app')
<alert-box></alert-box>
vue3.0入门(四):组件的更多相关文章
- vue3.0入门(三)
前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 class绑定 对象绑定 :class='{active:isActive}' // 相当于class="active&q ...
- vue3.0入门(二)
前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 指令 #id2{ // css部分 font-size: 24px; color: green; } v-bind:href=&qu ...
- vue3.0入门(一)
前言 最近在b站上学习了飞哥的vue教程 学习案例已上传,下载地址 使用方式 使用在线cdn 下载js文件并自托管,引入到项目后使用 使用npm安装后,用cli来构建项目 声明式渲染 Vue2需引入v ...
- vue3.0入门(五):vite构建vue项目
使用vite构建项目步骤 安装node,cmd输入:node -v验证是否安装成功:一般node安装后会自动安装npm,cmd输入:npm -v验证是否安装成功 选择一个文件夹作为项目文件夹,搜索框输 ...
- vue3系列:vue3.0自定义虚拟滚动条V3Scroll|vue3模拟滚动条组件
基于Vue3.0构建PC桌面端自定义美化滚动条组件V3Scroll. 前段时间有分享一个Vue3 PC网页端弹窗组件,今天带来最新开发的Vue3.0版虚拟滚动条组件. V3Scroll 使用vue3. ...
- vue3.0自定义指令(drectives)
在大多数情况下,你都可以操作数据来修改视图,或者反之.但是还是避免不了偶尔要操作原生 DOM,这时候,你就能用到自定义指令. 举个例子,你想让页面的文本框自动聚焦,在没有学习自定义指令的时候,我们可能 ...
- 纯小白入手 vue3.0 CLI - 2.5 - 了解组件的三维
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
- 纯小白入手 vue3.0 CLI - 2.7 - 组件之间的数据流
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 尽量把纷繁的知识,肢解重组成为可以堆砌的知识. ...
- 纯小白入手 vue3.0 CLI - 2.6 - 组件的复用
vue3.0 CLI 真小白一步一步入手全教程系列:https://www.cnblogs.com/ndos/category/1295752.html 我的 github 地址 - vue3.0St ...
随机推荐
- Java 并发之 Fork/Join 框架
什么是 Fork/Join 框架 Fork/Join 框架是一种在 JDk 7 引入的线程池,用于并行执行把一个大任务拆成多个小任务并行执行,最终汇总每个小任务结果得到大任务结果的特殊任务.通过其命名 ...
- 忘记Apple ID密码,如何从iPhone/iPad上移除iCloud账号
忘记Apple ID密码?不用担心!在本文中,我们将分享3种有效方法,即使您不知道密码,也可以轻松移除iPhone或iPad设备上的iCloud账号. 注意:移除iCloud 账号前请备份数据 在开始 ...
- SAML 2.0 实例分析 sp向idp发送请求(3)
user没有登陆过sp,此时sp向idp发送请求,下文是请求的xml形式 <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAM ...
- C++第四十八篇 -- 字符串分离方法
举例:Test_Bluetooth.exe -param_split Test_Bluetooth.cpp #include "pch.h" #include <iostre ...
- 第二十五篇 -- QTreeWidget右击菜单的实现
效果图: 自己画一个ui,如图,前面已经讲过怎么用Qt Designer画图了,现在就不赘述了. ui_play.py # -*- coding: utf-8 -*- # Form implement ...
- py3射击小游戏
关于py3面向对象的小Demo,欢迎 交流. class Person(object):#声明人类 def __init__(self,name): self.name = name self.gun ...
- solr(CVE-2017-12629)远程命令执行
影响版本Apache Solr 5.5.0到7.0.1版本 solr(CVE-2017-12629-RCE) 环境搭建 1.burp检测 创建listen POST /solr/demo/config ...
- noip模拟35[第一次4题·裂了]
noip模拟35 solutions 这是我第一次这么正式的考四个题,因为这四个题都出自同一个出题人,并不是拼盘拼出来的. 但是考得非常的不好,因为题非常难而且一直想睡觉.. 有好多我根本就不会的算法 ...
- Windows API 进程相关笔记
0. 前言 最近做了一个进程信息相关的项目,整理了一下自己做项目时的笔记,分享给大家 1. 相关概念 1.1 HANDLE 概念 HANDLE(句柄)是Windows操作系统中的一个概念. 在Wind ...
- 别再用CSV了,更高效的Python文件存储方案
CSV无可厚非的是一种良好的通用文件存储方式,几乎任何一款工具或者编程语言都能对其进行读写,但是当文件特别大的时候,CSV这种存储方式就会变得十分缓慢且低效.本文将介绍几种在Python中能够代替CS ...