uniapp vue3 setup中如何对这段代码进行修改能运行:onReady(() => { // #ifdef APP-PLUS var height = 0 //定义动态的高度变量,如高度为定值,可以直接写 uni.getSystemInfo({ //成功获取的回调函数,返回值为系统信息 success: (sysinfo) => { height = sysinfo.windowHeight //自行修改,自己需要的高度 此处如底部有其他内容,可以直接---(-50)这种 }, complete: () => {} }) var currentWebview = this.$scope.$getAppWebview() //获取当前web-view setTimeout(function () { var wv = currentWebview.children()[0] wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px top: 40, //此处是距离顶部的高度,应该是你页面的头部 height: height, //webview的高度 scalable: false //webview的页面是否可以缩放,双指放大缩小, }) }, 500) //如页面初始化调用需要写延迟 // #endif })

uniapp vue3 setup中如何对这段代码进行修改能运行:onReady(() => { // #ifdef APP-PLUS var height = 0 //定义动态的高度变量,如高度为定值,可以直接写 uni.getSystemInfo({ //成功获取的回调函数,返回值为系统信息 success: (sysinfo) => { height = sysinfo.windowHeight //自行修改,自己需要的高度 此处如底部有其他内容,可以直接---(-50)这种 }, complete: () => {} }) var currentWebview = this.$scope.$getAppWebview() //获取当前web-view setTimeout(function () { var wv = currentWebview.children()[0] wv.setStyle({ //设置web-view距离顶部的距离以及自己的高度,单位为px top: 40, //此处是距离顶部的高度,应该是你页面的头部 height: height, //webview的高度 scalable: false //webview的页面是否可以缩放,双指放大缩小, }) }, 500) //如页面初始化调用需要写延迟 // #endif })
用户857365697
2023年11月17日
|
浏览 169

这段代码中,需要对以下部分进行修改以确保其能够正常运行:

  1. 在uniapp vue3 setup的环境中,不支持使用this关键字来获取当前组件实例。因此,需要使用getCurrentInstance()来获取当前组件实例。

  2. setTimeout函数中,将function改为箭头函数() => {},以确保this指向正确。

修改后的代码如下:

复制代码
import { getCurrentInstance, onReady } from 'uni'

onReady(() => {
  // #ifdef APP-PLUS
  var height = 0 //定义动态的高度变量,如高度为定值,可以直接写
  uni.getSystemInfo({
    //成功获取的回调函数,返回值为系统信息
    success: (sysinfo) => {
      height = sysinfo.windowHeight //自行修改,自己需要的高度 此处如底部有其他内容,可以直接---(-50)这种
    },
    complete: () => {}
  })
  var currentInstance = getCurrentInstance() //获取当前组件实例
  setTimeout(() => {
    var wv = currentInstance.refs['web-view'].$el
    wv.setStyle({
      //设置web-view距离顶部的距离以及自己的高度,单位为px
      top: 40, //此处是距离顶部的高度,应该是你页面的头部
      height: height, //webview的高度
      scalable: false //webview的页面是否可以缩放,双指放大缩小,
    })
  }, 500) //如页面初始化调用需要写延迟
  // #endif
})

请注意,以上代码仅供参考,具体修改取决于您的项目结构和需求。

我要提问
复制内容
分享给好友
AI编程问答网 免责声明:
以上内容除特别注明外均来源于网友提问,AI编程问答网回答,权益归原著者所有;