国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

詳解vue中this.$emit()的返回值是什么

2019-11-19 11:52:13
字體:
來源:轉載
供稿:網友

vue中的三大屬性:屬性 、事件、插槽,---事件

在事件中有

普通事件:@click/@input/@change/@xxx...事件;

修飾符事件:@input.trim,@click.stop,@submit.prevent...一般用于原生html元素;

答:在vue中this.$emit(); 返回值是this;

代碼示例:

在子組件中:Event.vue:接收通過父組件傳遞過來的props:{name:String} 屬性; 在input 標簽中:

  1. value=name; 綁定name屬性;
  2. 通過@change="handleChange" 普通事件;監聽輸入框輸入值;

在script 標簽中:

通過 this.$emit("Echange", e.target.value, val => { console.log(val); }); 通過回調,傳遞值到父組件;自定義事件“Echange”;

<template> <div>name: {{ name || "--" }}<br /><input :value="name" @change="handleChange" /><br /><br /><div @click="handleDivClick"> <button @click="handleClick">重置成功</button>  <button @click.stop="handleClick">重置失敗</button></div> </div></template><script>export default { name: "EventDemo", props: {name: String }, methods: {handleChange(e) { const res = this.$emit("Echange", e.target.value, val => {console.log(val); }); console.log(res, res === this);},handleDivClick() { this.$emit("change", "");},handleClick(e) { // 都會失敗 e.stopPropagation();} }};</script>

在父組件中通過監聽子組件事件,對回調做出響應;

父組件可以通過回調函數,callback()向子組件傳遞一個值;

<template>   <Event :name="name" @Echange="handleEventChange" />  </template>  <script> import Event from "./Event";  export default {  components: { Event,    },  data: () => { return {  name: "",   };  },  mounted() {   },  methods: {   handleEventChange(val, callback) {  this.name = val;  callback("hello");  return "hello"; }  } }; </script>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 贵港市| 红安县| 咸宁市| 清苑县| 合川市| 铜鼓县| 东台市| 莫力| 改则县| 峨山| 临颍县| 深州市| 乳山市| 南陵县| 连云港市| 梧州市| 平舆县| 兴隆县| 武胜县| 浮山县| 新津县| 白山市| 新化县| 汤阴县| 那曲县| 巍山| 观塘区| 宁晋县| 炎陵县| 临澧县| 克什克腾旗| 社旗县| 微山县| 乌拉特后旗| 濮阳县| 丹凤县| 山阴县| 延津县| 抚松县| 沙田区| 古浪县|