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

首頁 > 語言 > JavaScript > 正文

vue組件間的參數傳遞實例詳解

2024-05-06 15:40:08
字體:
來源:轉載
供稿:網友

場景分析

在前端開發中,我們常常會運用到“組件庫”。在main入口中引入組件庫,就可以很輕松的在頁面中引入,并做一些基本的配置,如樣式,顏色等。只需要在引入的組件中寫入特定的屬性,就能夠定義。

舉例說明

例如:element-ui組件庫中使用switch開關,有個屬性active-color是設置“打開時”的背景色。change事件是觸發狀態的事件。

<el-switch v-model="value" :active-color="activecolor" @change="touchSwitch"></el-switch><script> export default {  data() {   return {    value: true,    activecolor: '#13ce66'   }  },  methods: {   touchSwitch () {    // 這里入方法   }  } };</script>

分析代碼

我們分析上面的代碼

首先我們可以看到active-color是將特定的數據傳給組件,也就是父傳子組件。

其次是@change雖然監聽的是改變事件,但是語法糖依然是$emit,什么emit我們在以后的文章中會講到,就是“拋出事件”。

這就分為組件的最基本功能:

•數據進
•事件出

那組件的使用我們知道了,通過active-color傳入參數,通過@來接收事件。
 所以,我們來探究一下組件的內部結構是什么樣的?

我寫了一個小模型,是一個顯示標題的小按鈕,通過div包裹。

<!-- type-box.vue --><template> <div class="box" @click="ai_click(title)">{{title}}</div></template><script>export default { name: 'type-box', props: {  title: {   type: String,   default: () => ''  } }, methods: {  ai_click (title) {   this.$emit('ai_click', title)  } }}</script><style scoped> .box{  width: 250px;  height: 100px;  margin: 10px;  border-radius: 10px;  background-color: #3a8ee6;  color: white;  font-size: 25px;  line-height: 100px;  text-align: center;  cursor: pointer; }</style>

使用方法:

<!-- 父組件使用 --><template> <div>  <type-box title="演示盒子" @ai_click=“touch”></type-box> </div></template><script>import typeBox from './type-box'export default { components: {  typeBox }, methods: {  touch (data) {   console.log(data)  } }}</script>

分析組件

接收

通過props接收父組件傳遞過來的數據,通過工廠函數獲取一個默認值。

傳遞

通過this.$emit('ai_click', title)告訴父組件,我要傳遞一個事件,名字叫“ai_click”,請通過@ai_click接收一下,并且我將title的值返回父組件。

總結

所以今天分析vue組件的3大核心概念的其中兩個——屬性和事件。

 這篇文章只分析到應用場景,也是最簡單的組件。希望后續能夠深入了解vue的組件概念:屬性、事件和插槽。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 恭城| 广宁县| 陇川县| 收藏| 板桥市| 广州市| 库尔勒市| 华宁县| 广水市| 南涧| 都兰县| 金华市| 色达县| 中卫市| 铜鼓县| 鸡东县| 色达县| 万全县| 平乐县| 济宁市| 出国| 根河市| 星子县| 余江县| 周宁县| 绿春县| 仙居县| 西藏| 翁源县| 治多县| 昭平县| 云和县| 乌拉特后旗| 喀什市| 洪泽县| 广水市| 始兴县| 邵阳市| 朝阳县| 石屏县| 轮台县|