1、前言:由于Vue3.x中删除了 off,因此不能借助于一个单独的Vue实例来实现全局事件的发布和订阅与取消订阅(也就是跨组件通讯)。
2、概述:mitt是一个三方库,npm安装:npm install -D mitt
3、使用:我们以同样使用插件的方式将mitt集成到Vue中。
4、mitt对象:
6、组件实例中使用:
全局事件发布
全局事件订阅/取消订阅
下一章: (十六)Vue3.x中使用vue-router的新特性
上一章: (十四)Vue3.x核心之getCurrentInstance
ps: “嗨,你还是一点都没有变阿!”,对了,他可能没有夸你。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=gb2312" />
<title>show time</title>
<script language="javascript">
window.onload = running //加载窗口时即运行running()函数
function running(){
timeshow()
//jump()
}
/* 规定时间跳转页面
function jump(){
var today = new Date()
var h = today.getHours()
var mit = today.getMinutes()
var s = today.getSeconds()
//alert(h+":"+mit)
var now = h+":"+mit+":"+s
//alert(now)
var arr = new Array('7:30:00','11:30:00','17:00:00','21:30:00','24:00:00')
//document.write("arr[0]-->>"+arr[0]+"<br/>")
if(now == arr[0]){
document.location.href="test.html"
}
}
*/
function timeshow(){
var today = new Date()
//alert(today)
var y = today.getYear()
var m = today.getMonth()+1 //小时取出来时需+1
var d = today.getDate()
var h = today.getHours()
var mit = today.getMinutes()
var s = today.getSeconds()
var a = today.getDay()
var week = ""
switch(a){
case 0:
week = "星期日"
break
case 1:
week = "星期一"
break
case 2:
week = "星期二"
break
case 3:
week = "星期三"
break
case 4:
week = "星期四"
break
case 5:
week = "星期五"
break
case 6:
week = "星期六"
break
}
//判断当前时间的时间段
//h = 6 //给出具体值逐步测试程序运行到何处
var timetip = ""
if(h<12){
//alert(h)
if (h>6){
timetip = "上午"
}else if((h>0 &&h<6) || h==6 || h==0){
timetip = "早上"
} //end if
}else if(h == 12){
timetip = "中午"
}else{
if (h>12 &&h<18){
timetip = "下午"
}else if((h>18 &&h<24) || h==18){
timetip = "晚上"
} //end if
} //end if
//判断当前时钟的位数
var htip = ""
if (h<10)
{
htip = "0" + h //如果当前时钟位数是一位,则前面加0
}else{
htip = h.toString()
} //end if
//判断当前分钟的位数
var mittip = ""
if (mit<10)
{
mittip = "0" + mit //如果当前分钟位数是一位,则前面加0
}else{
mittip = mit
} //end if
//alert(htip)
//判断当前秒钟的位数
var stip = ""
if (s <10)
{
stip = "0" + s //如果当前秒钟位数是一位,则前面加0显示
}else{
stip = s
} // end if
var riqi = y+"年"+m+"月"+d+"日"+" "+week+" "+timetip+" " //将年月日及星期赋给riqi变量
//alert(riqi)
var sfm = htip+":"+mittip+":"+stip //将时分秒赋给sfm变量
//alert(sfm)
var spn = document.getElementById("datetime") //获取要放置的位置的对象
//alert(spn)
spn.innerHTML = riqi + sfm //将时间放入页面中
setTimeout("timeshow()",1000) //每隔1秒运行一次timesho()函数
}
</script>
</head>
<body>
<center><span id="datetime"></span></center>
</body>
</html>
说明::非常抱歉,这段代码只实现了时间的显示,但是跳转没有出来,还望海量高手解决,对于页面的跳转和时间在html中只能通过js脚本来实现,小弟只能帮着多了,见谅