File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 3030 },
3131 onLoad () {
3232 this .closeMask ();
33- const popupNVue = uni .getSubNVueById (' popup' );
34- // 向 popup 传递消息
35- popupNVue .onMessage ((res ) => {
36- let data = res .data ;
33+
34+ // 接收 popup 的消息
35+ uni .$on (' popup-page' , (data ) => {
3736 switch (data .type ){
3837 case ' interactive' :
3938 uni .showModal ({
4746 })
4847 break ;
4948 }
50- });
51- const drawerNVue = uni .getSubNVueById (' drawer' );
49+ })
5250 // 监听 drawer 消息
53- drawerNVue .onMessage ((res ) => {
54- let data = res .data ;
51+ uni .$on (' drawer-page' , (data ) => {
5552 uni .showToast ({
5653 title: ' 点击了第' + data + ' 项' ,
5754 icon: " none"
5855 });
59- });
56+ })
6057 },
6158 onReady () {
6259 this .showVideo = true
6663 uni .getSubNVueById (' drawer' ).show (' slide-in-left' , 200 );
6764 },
6865 showPopup () {
69- const subNVue = uni . getSubNVueById ( ' popup' )
70- subNVue . postMessage ( {
66+ // 向 popup 传递消息
67+ uni . $emit ( ' page-popup ' , {
7168 title: ' 请阅读软件内容' ,
7269 content: ' uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台。'
7370 });
71+ const subNVue = uni .getSubNVueById (' popup' )
7472 subNVue .show (' slide-in-top' , 250 )
7573 },
7674 videoErrorCallback : function (e ) {
8280 playVideo () {
8381 let subNVue = uni .getSubNVueById (' video_mask' )
8482 subNVue .show (' fade-in' , 200 , () => {
85- subNVue . postMessage ( {
83+ uni . $emit ( ' play-video ' , {
8684 status: ' open' ,
8785 })
8886 })
8987 },
9088 closeMask () {
9189 let subNVue = uni .getSubNVueById (' video_mask' )
92- subNVue . postMessage ( {
90+ uni . $emit ( ' close-video ' , {
9391 status: ' close' ,
9492 })
9593 subNVue .hide (' fade-out' , 200 )
Original file line number Diff line number Diff line change 4444 uni.getCurrentSubNVue().hide('auto')
4545 },
4646 clickitem(e) {
47- uni.getCurrentSubNVue().postMessage(e)
47+ uni.$emit('drawer-page', e);
4848 }
4949 }
5050 }
Original file line number Diff line number Diff line change 3232 for(let i = 1; i < 20; i++){
3333 this.lists.push('item' + i);
3434 }
35- const subNVue = uni.getCurrentSubNVue()
36- subNVue.onMessage((data) => {
37- vm.title = data.data.title;
38- vm.content = data.data.content;
39- });
40-
35+ uni.$on('page-popup', (data) => {
36+ console.log('sss');
37+ vm.title = data.title;
38+ vm.content = data.content;
39+ })
4140 },
4241 methods: {
4342 sendMessage() {
4443 const subNVue = uni.getCurrentSubNVue()
45- subNVue.postMessage( {
44+ uni.$emit('popup-page', {
4645 title: '已读完!',
47- });
46+ })
4847 },
4948 handle(item, index) {
5049 const subNVue = uni.getCurrentSubNVue()
51- subNVue.postMessage( {
50+ uni.$emit('popup-page', {
5251 type: 'interactive',
5352 info: item + ' 该元素被点击了!',
54- });
53+ })
5554 }
5655 }
5756 }
Original file line number Diff line number Diff line change 3636 }
3737 },
3838 created() {
39- const subNVue = uni.getCurrentSubNVue()
4039 const vm = this;
41- subNVue.onMessage( (data) => {
42- if(data.data. status === 'open'){
40+ uni.$on('play-video', (data) => {
41+ if(data.status === 'open'){
4342 this.addItem();
4443 }else{
4544 this.closeItem();
4645 }
47- });
46+ })
4847 },
4948 beforeDestory(){
5049 this.closeItem()
You can’t perform that action at this time.
0 commit comments