首页 > 其他分享 >假期vue学习笔记08 绑定和解绑

假期vue学习笔记08 绑定和解绑

时间:2024-02-28 17:47:04浏览次数:25  
标签:School vue name 08 绑定 Student atguigu methods

 

<template>     <div class="app">         <h1>{{msg}}</h1>         <!-- props 子给父传递事件 -->         <School :getSchoolName="getSchoolName"/>         <!-- 通过父组件给子组件绑定一个自定义事件实现:子给父传递数据 (第一种写法,使用@过v-on)-->         <!-- <Student v-on:aiguigu="demo"/> -->
        <!-- 通过父组件给子组件绑定一个自定义事件实现:子给父传递数据 (第二种写法,使用ref) -->         <Student ref="student" />     </div> </template>
<script> import Student from './components/Student.vue' import School from './components/School.vue' export default{     name:'App',     components:{         School,Student     },     data(){         return{             msg:'你好啊!'         }     },     methods: {         getSchoolName(name){             console.log('收到学校名',name)         },         demo(name){             console.log('demo被调用了!',name)         }     },     mounted(){         //比较灵活         setTimeout(()=>{             this.$refs.student.$on('atguigu',this.demo)         },3000)     } } </script>

<style>    .app{     background-color: gray;    } </style>       <template>     <div   class="school">         <h2 >学校名称:{{name}}</h2>          <h2>学校地址:{{address}}</h2>          <button @click="sendSchoolName">把学校名给APP</button>     </div> </template>
<script>     export default{         name:'School',         data() {             return {                 name:'尚硅谷',                 address:'北京'             }         },         props:['getSchoolName'],         methods: {             sendSchoolName(){                 this.getSchoolName(this.name)             }         },     } </script>
<style>  .school{     background-color: aqua;  } </style>     <template>     <div class="student">         <h2 >学生姓名:{{name}}</h2>          <h2>学生性别:{{sex}}</h2>          <button @click="sendStudentName">点我把学生名给APP</button>          <button @click="unbind">解绑事件</button>     </div> </template>
<script>
    export default{         name:'Student',         data() {             return {                 name:'张三',                 sex:'男'             }         },         methods: {             sendStudentName(){                 //触发Student组件实例身上的aiguigu事件                 this.$emit('atguigu',this.name)             },             unbind(){                 this.$off('atguigu') //解绑单个事件                 //this.$off(['atguigu',...])解绑多个             }         },     } </script>
<style>     .student{     background-color: pink;  } </style>

标签:School,vue,name,08,绑定,Student,atguigu,methods
From: https://www.cnblogs.com/hbro/p/18041225

相关文章

  • 假期vue学习笔记09 全局事件总栈
     <template>  <div class="school">    <h2>学校名称:{{name}}</h2>     <h2>学校地址:{{address}}</h2>  </div></template><script>  exportdefault{    name:'School'......
  • 假期vue学习笔记10 pubsub
     <template>  <divclass="app">    <h1>{{msg}}</h1>    <School/>    <Student/>  </div></template><script>importStudentfrom'./components/Student.vue'imp......
  • 假期vue学习笔记11 动画
    <template>  <divid="root">    <Test/>    <Test2/>    <Test3/>  </div></template><script>importTestfrom'./components/Test.vue'importTest2from'./comp......
  • 假期vue学习笔记01 ref
    <template>  <div>    <h1v-text="msg"ref="title"></h1>    <button@click="showDOM">点我输出上方的DOM元素</button>    <School/>  </div></template><script......
  • abc308
    A: 给一组数字,判断是否满足以下条件1#define_CRT_SECURE_NO_WARNINGS2#include<algorithm>3#include<iostream>4#include<cstring>5#include<cstdio>6#include<cmath>7#include<vector>8usingnamespacestd;9typedef......
  • 假期vue学习笔记02 mixin
    <template>  <div >    <h2@click="showName">学校名称:{{name}}</h2>     <h2>学校地址:{{address}}</h2>  </div></template><script>  exportdefault{    name:'School'......
  • javaweb02-JavaScript&vue
    JavaScript控制网页行为js引入方式内部脚本:script标签外部脚本:js文件js基础语法书写语法区分大小写每行结尾分号可有可无,建议写上输出语句警告框window.alerthtml输出document.write浏览器控制台console.log变量用var关键字声明变量JavaScript是一......
  • 假期vue学习笔记04 插件
    exportdefault{  install(Vue){    //全局过滤器    Vue.filter('mySclice',function(value){      returnvalue.slice(0,4)    }),    //定义全局指令    Vue.directive('fbind',{      bind(......
  • 【vue】做一个从右边出来又回去的一个抽屉div
    前言:工作需要做一个从右往左出现的一个弹窗,要有抽屉效果,看了网上各种方法好多都不能用,最后试了一种可以用,但是忘记是哪个网址了,现在就是自己写一下这个随便以后用到方便找。做一个从右边出来又回去的一个抽屉divhtml代码<divclass="addBtn"@click="show">点击按钮出......
  • Vue学习笔记21-列表排序
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>列表排序</title><script......