zoukankan      html  css  js  c++  java
  • (尚031)Vue_案例_自定义事件(组件间通信第2种方式:vue自定义事件)

    自定义事件:

    我们知道,父组件使用prop传递数据的子组件,但子组件怎么跟父组件通信呢?

    这个时候Vue的自定义事件系统就派得上用场了.

    自定义事件知道两件事:

    (1).绑定

    (2).触发

     注意:$on(eventName,回调函数)

    ==================================================================

     之前App.vue和TodoHeader.vue组件之间传递信息靠的是函数的形式

    而现在vue自定义事件代替传函数这种形式

     

     现在改成这这种形式:

    名字就起回调函数的名字

    <!--给TodoHeader标签对象绑定addTodo事件监听-->

     以前是调用addTodo函数,现在没有了

     现在需要触发事件($emit()),通知addTodo函数去调用

      方法://触发自定义事件:addTodo

    //触发事件需要指定事件名,还需要指定传递数据

    //一触发触发事件,回调函数需要调用addTodo,需要接收todo

    this.$emit('addTodo',todo)

     ===================================================================

    第二种方法:使用$on(eventName)监听事件;vue中自己实现的一套机制,用的不多

    如:现在只留下,没有传任何参数

     但是,TodoHeader.vue中有触发事件

     这时,App.vue需要绑定一个监听

    mounted(){// 执行异步代码

      //给<TodoHeder/>绑定addTodo事件监听

      //指定事件名和回调函数 

      //监听绑定在this上面,this现在指App.vue组件,而现在需要绑定TodoHeader.vue组件,不对

      this.$on('addTodo',this.addTodo)//有问题

    }

    故现在需要找到下面这个标签

     header属性指向了<TodoHeader  ref="header"/>标签对像

  • 相关阅读:
    异象石(引理证明)
    Codeforces Round #664 (Div. 2)
    2020 年百度之星&#183;程序设计大赛
    Codeforces Round #663 (Div. 2)
    Codeforces Round #662 (Div. 2)
    相等运算符
    Unicode编码
    算术运算符
    强制类型转换到Boolean
    强制类型转换到Number
  • 原文地址:https://www.cnblogs.com/curedfisher/p/12055902.html
Copyright © 2011-2022 走看看