首页 > 其他分享 >Vue3学习(五)

Vue3学习(五)

时间:2022-11-01 10:14:05浏览次数:47  
标签:vue show app 学习 let Vue3 import globalProperties

设置全局参数,调用参数三种方法,阻止默认事件,阻止冒泡,capture捕获

设置全局参数 main.ts

 

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

let app=createApp(App)

//在全局属性中添加属性方法
app.config.globalProperties.url="http://www.4399.com"

app.config.globalProperties.msg="abc";
app.config.globalProperties.show=(msg:any)=>{
    alert(msg)
}
app.use(router).mount('#app')

 

 

index.vue

<template>
    <!-- 直接引用全局属性 -->
    {{ msg }}
    <h1>{{ url }}</h1>
    <button @click="show(url)">显示网址</button>

    <button @click="showUrl">方法调用显示网址</button>
    <hr />

    <button :[attrName]="'button'">按钮</button>
    要绑定的属性名称:<input v-model="attrName" />
    <hr />
    <button @[eventName]="show">这是一个按钮</button>
    要绑定的事件名称:<input v-model="eventName" />

    <hr />
    <button @click="isShow = !isShow">{{ isShow ? "隐藏" : "显示" }}</button>
    <template v-if="isShow">
        <h1>受v-show影响</h1>
        <h1>受v-if影响</h1>

        <hr />
        <!-- capture捕获,默认从里到外渲染,加上capture后就会从外到里渲染 -->
        <div @click.capture="showInfo" style="width:200px;height:100px;background:yellow">
            <!-- stop阻止冒泡 -->
            <button @click-stop="showInfo">点我你试试</button>
            <!-- prevent阻止默认事件 -->
            <a href="www.baidu.com" @click.stop.prevent="showInfo">点我试试</a>
        </div>
        <hr />
        <!-- self点击在自己的元素上才触发响应事件,跟stop的属性差不多 -->
        <div @click.self="showInfo" style="width:200px;height:100px;background:yellow">
            <button @click="showInfo">点我你试试</button>
        </div>
    </template>
</template>



<script lang="ts">
import { getCurrentInstance } from 'vue';
import { ref } from 'vue'
export default ({
    //方法调用全局属性
    setup() {
        let globalProperties =
            getCurrentInstance()?.appContext.config.globalProperties;
        let isShow = ref(true);
        function showUrl() {
            globalProperties?.show(globalProperties.url);
        }
        let attrName = ref("title")
        let eventName = ref("click");
        let show = (e: any) => {
            console.log(eventName.value)
        }
        function showInfo() {
            console.log("事件触发了!")
        }
        return { showUrl, eventName, show, attrName, isShow, showInfo }
    },
    mounted(this: any) {
        //初始化调用全局默认属性
        this.show(this.url);
    }
})
</script>

 

标签:vue,show,app,学习,let,Vue3,import,globalProperties
From: https://www.cnblogs.com/zsbb/p/16846763.html

相关文章

  • Vue3学习(二)
     <template><h1>方法</h1><inputtype="text"v-model="input3"@input="meth()">+<inputtype="text"v-model="input4"@input="meth()">=......
  • Vue3学习(三)
    <template><h2>姓名:{{user.name}}</h2><h2>姓名:{{user.age}}</h2><h2>姓名:{{user.job.salsry}}k</h2><button@click="user.name+='%'">修改姓名</bu......
  • Python学习笔记
    20221031:对比python的列表数组与numpy插件在数据处理效率上的差别,importtime导入了常用的模板,importnumpyasnp导入numpy模块,别名为np。当时在操作时,pycharm没有安装num......
  • node 学习笔记
    1.通过node执行js1.复制文件所在路径2.node+路径2.node读写文件1.引入file模块读取文件2.fs.readFile(‘./read/hell.txt’,function(error,data){if(error){con......
  • 学习python第二天
    ##字符串的操作##tyep查看对象的类型#name="wode"#print(type(name))###常用的类型:strintfloatbool##布尔型:bool##Ture1##flse0#print()#字符串......
  • 深度学习基础课:全连接层的前向和后向传播推导(中)
    大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序线上课程资料:本节课录像回放加QQ群,获得......
  • STM32 USB学习笔记6
    主机环境:Windows7SP1开发环境:MDK5.14目标板:STM32F103C8T6开发库:STM32F1Cube库和STM32_USB_Device_Library现在来分析哈USB器件库代码,先来看usbd_core文件,其头文件只......
  • 深度学习-yolo-多(单)目标检测
    代码是在吴恩达深度学习作业的基础上完成的。问题1:下载的yolo.h5无法使用开始想原来下载的不行我就换个地方下载呗,就绕到gitlfs去了,然后发现这个条路好像不大行得通......
  • 学习java的第二天
    java语法学习注释,标识符,关键字写代码时一定写注释这是一个良好的习惯单行注释:“//”这是一个当行注释多行注释:"/*+回车"这是一个多行注释文档注释:"/**+......
  • HTTP协议学习(补充)
    1.HTTP长连接每次http请求需要创建tcp连接,需要三次握手chrome一次支持6个并发连接创建长连接可以在请求头里面加上Connection:Keep-Alive一个TCP连接可以发送多个HTTP......