Skip to content

Commit 4f610b9

Browse files
committed
update: subnvue 使用 getCurrentSubNVue 获取当前 webview. update: android 和 ios video_mask 显示不一致问题。
1 parent 82494b6 commit 4f610b9

4 files changed

Lines changed: 21 additions & 13 deletions

File tree

pages/API/subnvue/drawer.nvue

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,10 @@
4141
},
4242
methods: {
4343
hideDrawer() {
44-
uni.getSubNVueById('drawer').hide('auto')
44+
uni.getCurrentSubNVue().hide('auto')
4545
},
4646
clickitem(e) {
47-
const subNVue = uni.getSubNVueById('drawer')
48-
subNVue.postMessage(e);
47+
uni.getCurrentSubNVue().postMessage(e)
4948
}
5049
}
5150
}

pages/API/subnvue/popup.nvue

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
for(let i = 1; i < 20; i++){
3333
this.lists.push('item' + i);
3434
}
35-
const subNVue = uni.getSubNVueById('popup')
35+
const subNVue = uni.getCurrentSubNVue()
3636
subNVue.onMessage((data) => {
3737
vm.title = data.data.title;
3838
vm.content = data.data.content;
@@ -41,13 +41,13 @@
4141
},
4242
methods: {
4343
sendMessage() {
44-
const subNVue = uni.getSubNVueById('popup')
44+
const subNVue = uni.getCurrentSubNVue()
4545
subNVue.postMessage({
4646
title: '已读完!',
4747
});
4848
},
4949
handle(item, index) {
50-
const subNVue = uni.getSubNVueById('popup')
50+
const subNVue = uni.getCurrentSubNVue()
5151
subNVue.postMessage({
5252
type: 'interactive',
5353
info: item + ' 该元素被点击了!',

pages/API/subnvue/subnvue.vue

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<button @click="showPopup">显示 弹出层</button>
1111
</view>
1212
<view style="width: 100%;">
13-
<video id="myVideo"
13+
<video v-if="showVideo" id="video"
1414
@play="playVideo"
1515
@pause="closeMask"
1616
:controls="false"
@@ -25,11 +25,14 @@
2525
data() {
2626
return {
2727
title: 'SubNvue',
28+
showVideo: false
2829
};
2930
},
3031
onLoad() {
3132
this.closeMask();
33+
3234
const popupNVue = uni.getSubNVueById('popup');
35+
// 向 popup 传递消息
3336
popupNVue.onMessage((res) => {
3437
let data = res.data;
3538
switch(data.type){
@@ -47,6 +50,7 @@
4750
}
4851
});
4952
const drawerNVue = uni.getSubNVueById('drawer');
53+
// 监听 drawer 消息
5054
drawerNVue.onMessage((res) => {
5155
let data = res.data;
5256
uni.showToast({
@@ -55,6 +59,9 @@
5559
});
5660
});
5761
},
62+
onReady() {
63+
this.showVideo = true
64+
},
5865
methods: {
5966
showDrawer() {
6067
uni.getSubNVueById('drawer').show('slide-in-left', 200);

pages/API/subnvue/video-mask.nvue

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
}
3737
},
3838
created() {
39-
const subNVue = uni.getSubNVueById('video_mask')
39+
const subNVue = uni.getCurrentSubNVue()
4040
const vm = this;
4141
subNVue.onMessage((data) => {
4242
if(data.data.status === 'open'){
@@ -65,11 +65,13 @@
6565
name: vm.yourTexts[vm.lists.length%4].name,
6666
content: vm.yourTexts[vm.lists.length%4].content
6767
});
68-
vm.$nextTick(() => {
69-
if(vm.$refs['item' + (vm.lists.length - 1)]){
70-
dom.scrollToElement(vm.$refs['item' + (vm.lists.length - 1)][0]);
71-
}
72-
});
68+
if(vm.lists.length > 5) {
69+
vm.$nextTick(() => {
70+
if(vm.$refs['item' + (vm.lists.length - 1)]){
71+
dom.scrollToElement(vm.$refs['item' + (vm.lists.length - 1)][0]);
72+
}
73+
});
74+
}
7375
}, 3500);
7476
},
7577
closeItem() {

0 commit comments

Comments
 (0)