使用subnvue页面

1.在pages.json里面注册页面

{
            "path": "xxx",
            "style": {
                // "navigationBarTitleText": "任务"
                "app-plus": {
                    "titleNView": false,
                    "subNVues": [{//地图详情窗体
                        "id": "DetailTask", // 唯一标识  
                        "path": "xxx/detailTask", // 页面路径  ,放在所需页面同一级即可
                        // "type": "popup", // 这里不需要  
                        "style": {//根据需求写
                            "position": "absolute",
                            "dock": "bottom",
                            "width": "750upx",
                            "height": "409upx",
                            "bottom": "90upx",
                            "right": "0upx",
                            // "background": "transparent",
                            "border": "1px solid #000"
                        }
                    }}}

2.由于子窗体是在工程加载的时候就默认加载了。所以需要在所需页面加载的时候先默认隐藏,

mounted(){
            // 进入页面默认先关闭子窗体
            this.DetailTaskSubnvue = uni.getSubNVueById('DetailTask');
            // 关闭 详情子窗体  
            this.DetailTaskSubnvue.hide()
        },

3.在需要使用的时候show出来

 this.DetailTaskSubnvue.show()

但是这里面有个坑,就是在你切换页面的时候再切换回来的时候 ,这个子窗体默认存在了。那是因为你在切换切换的时候 没有销毁页面,子窗体也不会销毁。只会不断的累加子窗体,所以无论怎么hide也无效。所以这个切换切换需要改为uni.reLaunch即可。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐