美文网首页
uni-app由于map层级问题,使用sunNVue展示弹窗

uni-app由于map层级问题,使用sunNVue展示弹窗

作者: 羊驼626 | 来源:发表于2020-08-17 11:23 被阅读0次

uni-app nvue文档
以下实例可直接使用
github地址 https://github.com/18595439829/vue-uni-app-login
subNvue在浏览器打开会报错
API getSubNVueById is not yet implemented
请使用模拟器或者真机调试
subNvue在vue页面正常生效,在纯nvue项目中不生效
https://github.com/dcloudio/uni-app/issues/1308

1. 新建father.vue 父组件

<template>
  <div class="container">
    我是父组件
    <map
      style="width: 100%; height: 300px;"
      :latitude="latitude"
      :longitude="longitude"
    />
    <button @tap="toSon">
      点击父组件按钮,弹出子组件模态框
    </button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      latitude: 39.909,
      longitude: 116.39742,
      subNvue: null,
    };
  },
  onLoad() {
    uni.$on("modal-change", (data) => {
      console.log("子组件传递给父组件的值", data);
      this.subNvue.hide();
    });
  },
  methods: {
    toSon() {
      this.subNvue = uni.getSubNVueById("sonModal"); //获取
      this.subNvue.show(); // 显示
      uni.$emit("to-modal", '我是父组件传给子组件的值');
    },
  },
};
</script>

<style></style>

2.新建 son.nvue

<template>
  <div class="container">
    我是子组件
    <button @tap="toFather">点击子组件按钮,向父组件传值</button>
  </div>
</template>

<script>
export default {
    data() {
        return {
            latitude: 39.909,
            longitude: 116.39742,
        }
    },
    onLoad() {
        uni.$on("to-modal", (data) => {
            console.log('父组件传递给子组件的值', data);
        });
    },
    methods: {
        toFather() {
            uni.$emit("modal-change", '我是传递给父组件的值');
        }
    }
}
</script>

<style>

</style>

3. 在pages.json中注册son.nvue

{
  "pages": [
    {
      "path": "pages/father",
      "style": {
        "navigationBarTitleText": "父组件",
        "app-plus": {
          "subNVues": [
            {
              "id": "sonModal", // 唯一标识
              "path": "pages/son", // 页面路径
              "type": "popup", //原生子窗口内置样式,可取值:'popup',弹出层;"navigationBar",导航栏
              "style": {
                "top": "0",
                "left": "0",
                "bottom": "0",
                "right": "0",
                "background": "transparent"
              }
            }
          ]
        }
      }
    },
  ]
}

相关文章

  • uni-app由于map层级问题,使用sunNVue展示弹窗

    uni-app nvue文档以下实例可直接使用github地址 https://github.com/185954...

  • uniapp中调整uni.showModal弹窗层级

    uniapp中uni.showModal弹窗的层级默认是999,可能会出现被其他弹窗遮住的现象,为了解决这个问题,...

  • MacOS开发 | NSOutlineView基于Cell Ba

    在我们进行开发的时候,想要展示一组层级结构的数据时,可以使用NSOutlineView来对层级结构的数据进行展示,...

  • el-dialog 层级出现问题

    正常来讲 里面的弹窗内容会在层级最上面 官网示例 而此时 我本地的弹窗层级明显低 加上append-to-bo...

  • 「小程序」文集总录

    组件集 「小程序」map组件层级之上实现cover-input 「小程序」map组件层级之上实现cover-pro...

  • Android弹窗窗体泄露问题

    在Android中使用弹窗,通过弹窗进入下一界面,如果某个需求是在下一界面点击返回时直接退出APP,此时在弹窗展示...

  • 一些异常及后续规避

    需求:用户点击图标可展示弹窗,弹窗内容是从服务端获取的问题场景:网络极差,用户展开弹窗,在未获取到信息之前,用户即...

  • vue中的$符号

    vue中的消息提示 $message顶部出现的弹窗 使用方式: $set:(下面将展示实例,来更清晰的展示): 直...

  • (WKWebView) - 禁止长按交互

    使用WKWebView展示html文章,loadFileURL加载html文件,加载本地缓存图片。长按图片会弹窗,...

  • 解决弹窗被遮罩问题

    在引入react控件时出现了部分弹窗被遮罩的问题。 分析原因,首先想到是显示的层级问题。于是想到z-index; ...

网友评论

      本文标题:uni-app由于map层级问题,使用sunNVue展示弹窗

      本文链接:https://www.haomeiwen.com/subject/menfjktx.html