12.组件

全局事件的注册与触发

示例:

  1. 新建一个components/b.vue,并注册全局事件updateNum:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<template>

<view>

num: {{ num }}

</view>

</template>

<script>

export default {

data() {

num: 0

},

created() {

uni.$on('updateNum', num => {

this.num += num;

});

}

}

</script>
  1. 新建一个components/a.vue, 并触发全局事件updateNum:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<template>

<view>

<button @click="addNum">修改b组件的值</button>

</view>

</template>

<script>

export default {

methods: {

addNum() {

uni.$emit('updateNum', 10);

}

}

}

</script>

使用插件

开发者可在Dlound插件市场中找到各种插件,这里找到了Calendar插件

点击右边的”使用HBuilderX导入插件”引入Calendar插件。

这时在项目中的components文件夹下面会多出来一个calendar-lch/calendar-lch.vue组件。

将它引入页面中:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<template>

<uCalendar

field="day"

currentDate="2022-01-23"

startDate="2021"

endDate="2023"

@calendarChange="selectDateFun"

@columnChange="columnChangeFun">

</uCalendar>

</template>

<script>

import uCalendar from
'../../components/calendar-lch/calendar-lch.vue';

export default {

components {

uCalendar

},

methods: {

selectDateFun() {

console.log('选择日期完成后触发');

},

columnChangeFun() {

console.log('日期轮盘的选中值改变时触发');

}

}

}

</script>

参考:

26-组件之间的通讯方式

27-uni-ui组件库的基本介绍和使用


本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!