※前提条件:vue3 的uniapp开发
以plus开头的方法都是属于HTML5+环境调用的方法。
plus不能在浏览器环境下使用,它必须在手机APP上才能使用
// #ifdef APP-PLUS var appid = plus.runtime.appid; console.log('应用的 appid 为:' + appid); // #endif
函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。
export default { data() { return { title: 'Hello' } }, onLoad() { // #ifdef APP-PLUS const currentWebview = this.$scope.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效 currentWebview.setBounce({position:{top:'100px'},changeoffset:{top:'0px'}}); //动态重设bounce效果 // #endif } }
当前页面的 Vue 实例
通过页面的 Vue 实例可以获取页面的数据、调用页面上的方法以及监听页面的生命周期等
const page = getCurrentPages()[0]; const vm = page.$vm; // 监听生命周期,小程序端部分其他生命周期需在页面选项中配置过才可生效 vm.$on('hook:onHide', () => { console.log('onHide'); }); // 获取页面数据 console.log(vm.$data.title); // 调用页面方法 vm.test()
“发行”-> “原生APP-云打包”
官方文档
https://ask.dcloud.net.cn/article/35777
keytool.exe文件存放于JDK安装后的下面路径里面
%安装路径%\Java\jdk1.8.0_40\bin
大部分APP的运行错误都是下面的错误开头的
reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->
非常重要
解决方法1:
https://wendux.github.io/dist/#/doc/flyio/readme
XXX
即左边的参数引用报错。
重新连接一次手机即可
原因不明,解决方法:
methods: { toJSON(){ return this; },
原因:
navigateTo不能跳转到tarbar的页面
uni.navigateTo 改为 uni.switchTab
uni.switchTab({ url: '/pages/index/index', success() { console.log("跳转成功") }, fail(ddd) { console.log("跳转失败"); console.log(ddd); } })
uniapp的“运行到手机”的话,manifest里面设置的图标等不起作用,只有打包之后才能生效
Comment: