自定义事件 vue,vue在什么情况下需要用到自定义事件-

  自定义事件 vue,vue在什么情况下需要用到自定义事件?

  本文主要详细介绍Vue组件中的自定义事件。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下,希望能帮到你。

  介绍主要组件自定义事件的概念和用法。

  何为组件自定义事件:

  自定义事件是组件之间的一种通信方式,方向是子组件===父组件。使用场景:A是子组件,B是父组件。如果要将B的数据转移到A,可以使用props配置项。如果要将A的数据转移到B,需要使用组件自定义事件或者使用props加回调函数。使用props加回调函数实现子组件到父组件的数据传递。

  main.js

  //引入vue依赖

  从“vue”导入Vue

  //引入组件App

  从导入应用程序。/App.vue

  //关闭生产提示

  Vue.config.productionTip=false

  //创建一个vue实例

  新Vue({

  //这个我还没学会。要知道他的作用是把app放进容器里。

  render: h=h(App),

  //为这个vue实例配置管理id为app的容器。

  }).$ mount(“# app”)

  App.vue:

  模板

  !-写作结构-

  差异

  !-将回调函数传递给子组件School -

  school:getschoolnamefromsoolvc= getschoolnamefromsoolvc /school

  整点

  学生/学生

  Div获取学校子组件的学校名称:{{schoolNameFromSchool}}/div

  /div

  /模板

  脚本

  //原简介

  //从导入学校。/School.vue

  //从导入学生。/Student.vue

  //修改后的

  //介绍学校组件和学生组件,涉及es模块化的语法。

  从导入学校。/components/School.vue

  从导入学生。/components/Student.vue

  导出默认值{

  data() {

  返回{

  学校名称FromSchool:“”

  }

  },

  组件:{

  //注册组件

  学校,

  学生

  },

  方法:{

  //定义一个回调函数,并将其传递给子组件School

  getSchoolNameFromSchoolVc(学校名称){

  Console.log(App获取学校子组件的学校名称:,School name

  //将其分配给schoolNameFromSchool

  this . schoolName from school=school name;

  }

  }

  }

  /脚本

  风格

  /风格

  schoo.vue:

  模板

  !-写组件结构代码,也就是html代码-

  !-你需要一个div把它括起来,也就是只能有一个根元素。通常,使用一个div

  橙色

  学校:{ {学校名称}}/div

  Div地址:{ {学校地址}}/div

  !-//定义一个按钮,点击将学校名称传递给App组件。-

  将学校名称传递给应用程序组件/按钮

  /div

  /模板

  脚本

  //写交互代码的地方,需要暴露,引入其他地方。

  //这个需要了解一点es6模块化的知识。通常,这里使用默认公开,因为这是一个单文件组件,只需要公开一个组件对象,

  //而且引入默认公开的组件引入语法更简单。

  导出默认值{

  data() {

  返回{

  校名:“尚硅谷”,

  学校:“北京”

  }

  },

  //接收回调函数

  道具:[ getschoolnamefromsoolvc ],

  方法:{

  sendsoolnametoapp(){

  //调用回调函数,传入学校名称

  this . getschoolname from school VC(this . schoolname)

  }

  }

  }

  /脚本

  样式范围

  /*在那里书写样式*/。橙色{

  背景色:橙色;

  }

  /风格

  学生. vue:

  模板

  !-写组件结构代码,也就是html代码-

  !-你需要一个div把它括起来,也就是只能有一个根元素。通常,使用一个div

  橙色

  Div名称:{ {学生名称}}/div

  Div年龄:{ {学生年龄}}/div

  /div

  /模板

  脚本

  //写交互代码的地方,需要暴露,引入其他地方。

  //这个需要了解一点es6模块化的知识。通常,这里使用默认公开,因为这是一个单文件组件,只需要公开一个组件对象,

  //而且引入默认公开的组件引入语法更简单。

  导出默认值{

  data() {

  返回{

  学生姓名:“张三”,

  学生年龄:18岁

  }

  },

  }

  /脚本

  风格

  /*在那里书写样式*/。橙色{

  背景色:灰色;

  }

  /风格

  这种方式的流程:

  1.在父组件(App)中定义一个回调方法,并将其传递给子组件(School)。

  回调方法是在App组件的对应区域渲染学校组件传递的学校名称。

  2.子组件通过使用props配置项接收回调函数,并编写一个按钮,点击后调用回调函数将数据传递给App组件。

  效果:

  第二种方式是使用组件自定义事件实现:

  使用组件自定义事件实现将子组件Student的学生姓名传输到App组件并呈现。

  分一下步骤:

  3.在父组件应用程序中,设置自定义事件并配置事件回调。

  4.在子组件中,触发自定义事件并传递值。

  效果:

  除了在组件标签中绑定自定义事件,还可以在用ref属性挂载的生命周期回调函数$中绑定它们。

  执行效果是一样的。

  自定义事件仍然可以使用一次事件修饰符。

  使用props或组件自定义事件将数据从子组件传输到父组件是类似的。

  Props是直接把回调函数传递给子组件调用。

  组件自定义事件通过事件公开回调函数,然后子组件触发事件达到调用回调函数的效果。

  解绑组件自定义事件:

  或者当组件被销毁时,这些自定义事件也会被销毁。

  

总结

  本文到此为止。希望能帮到你,也希望你能多关注我们的更多内容!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: