VUE 子父元件傳值 (測試平臺首頁,一週時間,終於有點樣子了)

在路上發表於2020-07-04

為啥這點東西需要一週時間:
1、首先是水平一般,能力有限,前後端都是半吊子,再加上最近有點鬆勁了;
2、由於前期規劃問題,在做質量統計的時候,需要做大量的資料整理、統計工作。
3、將前端的Echart做成傳參的元件,後期直接呼叫,減少大量的重複程式碼;
4、主要是@俊哥說的那句話,哪有條件找前端做啊,都是自己搞;

附加一段VUE子父元件傳送資料的demo:

父元件向子元件傳值

父元件:

<template>
<div>
父元件:
<input type="text" v-model="name">
<!-- 引入子元件 -->
<child :inputName="name"></child>
</div>
</template>
<script>
import child from './child'
export default {
components: {
child
},
data () {
return {
name: ''
}
}
}
</script>

子元件

<template>
<div>
子元件:
<span>{{inputName}}</span>
</div>
</template>
<script>
export default {
// 接受父元件的值
props: {
inputName: String,
required: true
}
}
</script>

子元件向父元件傳值

參考:Vue2.0子父元件通訊

1、子元件:

(1)觸發傳值方法操作:

(2)傳值方法:

selectApk(selection, row) {
this.selected_apk.name = row['name'];
this.selected_apk.size = row['size'];
this.selected_apk.path = row['response'];
console.log("傳遞給父元件");
this.$emit('listenToSelectedApk',this.selected_apk)
}

2、父元件

(1)監聽子元件,並觸發父元件方法

<upload_apk ref="upload_apk" v-on:listenToSelectedApk="listenToUploadApk"></upload_apk>

(2)父元件方法

listenToSelectedApk(data) {
console.log("[][][]----------------------------------");
console.log(data); //data即為子元件傳遞的引數
return this.selected_apk
}

相關文章