• 【尚硅谷 Vue学习笔记】P14事件处理 P13事件修饰符 p16键盘事件 p17事件总结


    前言:仅做笔记使用。不是制作精良的博客。

    时间:2022/11/14

    P14事件处理

    需求,点这个按钮就提示

    image-20221114213421529

    错误的写法:

    (错误原因:只能在Vue实例中找)

    image-20221114213449759

    正确写法:

    (解释:在配置项methods下写函数,不需要写function,直接写方法名。如果写了function会有红色波浪线)

    image-20221114213649471

    代码:

    <body>
      <div id="root">
        <h1>学校名字:{{name}}</h1>
        <button v-on:click="showInfo">点我提示信息</button>
      </div>
    
      <script type="text/javascript">
        Vue.config.productionTip=false
    
        let data={
          name:'尚硅谷',
          address:'就这样'
        }
    
        const vm=new Vue({
          el:'#root',
          data,
          methods:{
            showInfo()
            {
              alert('卧草')
            }
          }
        })
      </script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    验证函数里面的this

    (这个this就是vm)

    image-20221114214243457

    注意:函数写成=>

    this就是window,而不是vue

    简写形式:

    v-on:click

    @click

    <button v-on:click="showInfo">点我提示信息1</button>
    <button @click="showInfo">点我提示信息2</button>
    
    • 1
    • 2

    再来个需求:

    (点击 点我提示信息2 传进去一个参数)

    image-20221114214734798

    给个代码:

    <body>
      <div id="root">
        <h1>学校名字:{{name}}</h1>
        <button v-on:click="showInfo1">点我提示信息1</button>
        <button @click="showInfo2(66)">点我提示信息2</button>
      </div>
    
      <script type="text/javascript">
        Vue.config.productionTip=false
    
        let data={
          name:'尚硅谷',
          address:'就这样'
        }
    
        const vm=new Vue({
          el:'#root',
          data,
          methods:{
            showInfo1()
            {
              alert('我草1')//此处的this就是vm
            },
            showInfo2(number)
            {
              alert('我曹2'+'传一个数字'+number)//此处的this就是vm
            }
          }
        })
      </script>
    </body>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31

    代码解释:

    1.showInfo2 括号加不加都行

    2.有个bug,不能用event.target.innerText (也就是点我提示信息2的文本)

    3.不能一传参就把event搞丢了

    解决:

    1.写$event,这样传进函数里面就是event

    <button @click="showInfo2(66,$event)">点我提示信息2</button>
    
            showInfo2(number,event)
            {
              alert('我曹2'+'传一个数字'+number)//此处的this就是vm
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    showInfo1,showInfo2在vm中,但不做数据代理。

    总结:

    image-20221114215722928

    P13事件修饰符

    需求:

    (点击按钮跳转网页,a标签)image-20221114220200974

    不想让它跳转就写个:

    //阻止默认行为   
    showInfo(e)
            {
              e.preventDefault()
              alert('我草1')//此处的this就是vm
            }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    但是Vue可以这样

    <a href="https://www.bilibili.com"  @click.prevent="showInfo">点我提示信息</a>
    
    • 1

    prevent就是事件修饰符

    用了click事件,但是prevent修饰click事件

    总结:

    image-20221114220601847

    阻止事件冒泡:

    alert弹了两次,写完@click.stop之后,只谈一次

    image-20221114220853687

    事件触发一次:

    image-20221114221028023

    第一次点击:

    image-20221114221310111

    多次点击:(不灵了)

    image-20221114221353184

    捕获模式:

    image-20221114221559872

    点击div2(结果2,1)

    image-20221114221625800

    捕获与冒泡阶段:

    捕获:从外到内

    冒泡:从内到外

    image-20221114221705281

    加上就是1,2

    5.self

    image-20221114222011281

    6.passive

    本来应该是这个函数跑完再滚动滚动条

    image-20221114222745790

    image-20221114222555046

    加passsive,就可以滚动滚动条了。

    p16键盘事件

    image-20221114223346617

     <input type="text" placeholder="回车提示" @keyup.delete="showInfo">
    
    • 1

    按下删除键才会执行。

    p17事件总结

    能连着写

    image-20221114225112892

  • 相关阅读:
    快速构建基于Paddle Serving部署的Paddle Detection目标检测Docker镜像
    猿创征文|信息抽取(2)——pytorch实现Bert-BiLSTM-CRF、Bert-CRF模型进行实体抽取
    【大数据入门核心技术-Hive】MySQL5.7安装
    Linux基本指令笔记
    [ZJOI2013]K大数查询 (权值线段树套权值线段树+标记永久化)
    嵌入式开发需要掌握的u-boot命令
    idea的debug调试
    家庭理财管理系统设计与实现
    @Autowired注解推荐使用方法:用在构造方法上
    【PyTorch】深度学习实践之RNN高级篇—实现分类
  • 原文地址:https://blog.csdn.net/m0_54381284/article/details/127857576