| 事件 | 说明 |
|---|---|
| click | 单击 |
| dblclick | 双击 |
| click | 单击 |
| click | 单击 |
| click | 单击 |
| focus | 获取焦点 |
| blur | 失去焦点 |
| change | 元素内容改变 |
| select | 元素内容被选中 |
| mousedown | 鼠标按键被按下 |
| mouseup | 鼠标按键抬起 |
| mousemove | 鼠标在组件内移动 |
| mouseout | 鼠标移出组件 |
| mouseover | 鼠标移入组件 |
| Keydown | 键盘按键被按下 |
| Keyup | 键盘按键抬起 |
2.1、检测用户是否按回车键(Enter)
keyup(event){
if(event.key == 'Enter')
{
}
}
在Vue中的写法:
<input @keyup.enter="keyup"/>
enter、ctrl、alt、shift、left(鼠标左键)、right(鼠标右键)、middle(中间键)
1.1、创建组件的模板
const obj = {
data(){
return {
}
},
methods: {
}
template: `模板字符串` //组件的视图
}
1.2、注册组件
App.component("标识名",组件对象)
演示:
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="https://unpkg.com/vue@next">script>
head>
<body>
<div id="app">
<my-alert>my-alert>
div>
<script>
const App = Vue.createApp({});
const alertComonent = {
data(){
return {
msg:'警告',
count:0
}
},
methods:{
click(){
alert(this.msg+this.count++)
}
},
template:''
}
//创建子组件
App.component("my-alert",alertComonent)
App.mount('#app');
script>
body>
html>

点击按钮,给出提示框警告
1.1、给组件添加外部属性:在组件的对象模板中使用props来定义组件的外部属性
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="https://unpkg.com/vue@next">script>
head>
<body>
<div id="app">
<my-alert title="登录">my-alert>
<br><br>
<my-alert title="注册">my-alert>
div>
<script>
const App = Vue.createApp({});
const alertComonent = {
data(){
return {
msg:'警告',
count:0
}
},
methods:{
click(){
alert(this.msg+this.count++)
}
},
props:["title"],
template:''
}
//创建子组件
App.component("my-alert",alertComonent)
App.mount('#app');
script>
body>
html>


分别点击登录和注册按钮后都出现的警示框
1.2、处理组件事件:在子组件中调用外部组件的方法(使用$emit来实现)
(1)、在子组件中调用父组件方法时,可以传参
一共有两种方法可以达到此目的
方法一、
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="https://unpkg.com/vue@next">script>
head>
<body>
<div id="main">
<my-com1 title="按钮1" @myclick="appfunc">my-com1>
div>
<script>
const App = Vue.createApp({
methods:{
appfunc(){
console.log('点击自定义组件')
}
}
})
const com1 = {
props:['title'],
template:``
}
App.component("my-com1",com1);
App.mount("#main")
script>
body>
html>

方法二、
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
<script src="https://unpkg.com/vue@next">script>
head>
<body>
<div id="main">
<my-com1 title="按钮1" @myclick="appfunc">my-com1>
div>
<script>
const App = Vue.createApp({
methods:{
appfunc(param){
console.log('点击自定义组件,参数是'+param)
}
}
})
const com1 = {
props:['title'],
methods:{
sonclick(){
this.$emit('myclick',this.title)
}
},
template:``
}
App.component("my-com1",com1);
App.mount("#main")
script>
body>
html>
