vue中$emit與$on
var Event = new Vue();
相當於又new
了一個vue
例項,Event
中含有vue
的全部方法;
Event.$emit('msg',this.msg);
傳送資料,第一個引數是傳送資料的名稱,接收時還用這個名字接收,第二個引數是這個資料現在的位置;
Event.$on('msg',function(msg){
//接收資料,第一個引數是資料的名字,與傳送時的名字對應,第二個引數是一個方法,要對資料的操作
//這裡是對資料的操作
})
例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/vue2.0.3.js" ></script>
<script type="text/javascript">
//準備一個空的例項物件
var Event = new Vue();
var A={
template:`
<div style="border: 1px solid red; margin-bottom: 10px; width: 300px;">
<h4>A元件</h4>
<p>{{a}}</p>
<input type="button" value="把A資料給C" @click="send" />
</div>
`,
data(){
return {
a:'我是A裡面的資料'
}
},
methods:{
send(){ //A傳送資料
Event.$emit('a-msg',this.a);
}
}
};
var B={
template:`
<div style="border: 1px solid green; margin-bottom: 10px; width: 300px;">
<h4>B元件</h4>
<p>{{b}}</p>
<input type="button" value="把B資料給C" @click="send" />
</div>
`,
data(){
return {
b:'我是B裡面的資料'
}
},
methods:{
send(){
Event.$emit('b-msg',this.b);
}
}
};
var C={
template:`
<div style="border: 1px dotted green; margin-bottom: 10px;width: 300px;">
<h4>我是C元件,我在坐等接收資料</h4>
<p>{{a}}</p>
<p>{{b}}</p>
</div>
`,
data(){
return{
a:'',
b:''
}
},
mounted(){ //兩種接收的方式
var _this = this;
Event.$on('a-msg',function(a){
_this.a=a;
});
Event.$on('b-msg',function(b){
this.b = b;
}.bind(this))
}
};
window.onload=function(){
new Vue({
el:'#box',
data:{
},
components:{
'com-a':A,
'com-b':B,
'com-c':C
}
})
}
</script>
</head>
<body>
<div id="box">
<com-a></com-a>
<com-b></com-b>
<com-c></com-c>
</div>
</body>
</html>
效果圖:
相關文章
- vue中 關於$emit的用法VueMIT
- Vue .sync修飾符與$emit(update:xxx)VueMIT
- Vue.js 2.0中$on與$emit如何使用之例項講解Vue.jsMIT
- Vue 中 $on $once $off $emit 詳細分析,以及使用VueMIT
- vue 中this.$emit()的返回值是什麼?VueMIT
- vue中子元件傳遞父元件$emitVue元件MIT
- Vue EventBus事件偵聽($on、$emit、$off、$once)Vue事件MIT
- vue之prop,emit資料傳遞示例VueMIT
- vue2.0父子、兄弟元件通訊,$emit使用Vue元件MIT
- Vue原始碼學習(二十):$emit、$on實現原理Vue原始碼MIT
- 都用vue3了,還這樣用emit麼?VueMIT
- vue 父子元件傳值報錯:this.$emit is not a function 解決Vue元件MITFunction
- vue之父子元件間通訊例項講解(props、$ref、$emit)Vue元件MIT
- C# 反射與特性(十):EMIT 構建程式碼C#反射MIT
- ?快速掌握vue3新語法(二) - setup的引數(props/emit)VueMIT
- 在 Emit 程式碼中如何await一個非同步方法MITAI非同步
- Vue中scoped與CSSModules的用法VueCSSSSM
- .NET Emit 入門教程:第一部分:Emit 介紹MIT
- vue中axios的使用與封裝VueiOS封裝
- vue中sass與SCSS的區別VueCSS
- Vue 中ref()與 reactive() 的區別VueReact
- 筆記2:vue元件傳值--子傳父(利用this.$emit)--比小白還白的理解筆記Vue元件MIT
- 元件emit資料至父元件元件MIT
- vue中 lang="ts"與js的區別VueJS
- 常見的 emit 實現 AOP demoMIT
- Vue的mode中 hash 與 history 的區別Vue
- Vue 中 MathJax 的使用與渲染的監聽 (下)Vue
- 深入理解vue中的slot與slot-scopeVue
- vue - Vue中的ajaxVue
- Vue中watch、computed與methods的聯絡和區別Vue
- .NET Emit 入門教程:第五部分:動態生成方法(MethodBuilder 與 DynamicMethod)MITUI
- vue 方法與事件Vue事件
- Vue computed 與 watchVue
- 詳解vue中Axios的封裝與API介面的管理VueiOS封裝API
- Vue.set與vue.$set的使用Vue
- vue-cropper圖片裁剪(vue2與vue3)Vue
- Vue與React比較VueReact
- Vue混淆與還原Vue