uni-app

※前提条件:vue3 的uniapp开发

概要 [edit]

以plus开头的方法都是属于HTML5+环境调用的方法。

plus不能在浏览器环境下使用,它必须在手机APP上才能使用

// #ifdef APP-PLUS
var appid = plus.runtime.appid;
console.log('应用的 appid 为:' + appid);
// #endif

API [edit]

getCurrentPages() [edit]

函数用于获取当前页面栈的实例,以数组形式按栈的顺序给出,第一个元素为首页,最后一个元素为当前页面。

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
  }
}

$vm [edit]

当前页面的 Vue 实例

通过页面的 Vue 实例可以获取页面的数据、调用页面上的方法以及监听页面的生命周期等

const page = getCurrentPages()[0];
const vm = page.$vm;
// 监听生命周期,小程序端部分其他生命周期需在页面选项中配置过才可生效
vm.$on('hook:onHide', () => {
  console.log('onHide');
});
// 获取页面数据
console.log(vm.$data.title);
// 调用页面方法
vm.test()

打包 [edit]

“发行”-> “原生APP-云打包”

uniapp_apk1.png

官方文档

https://ask.dcloud.net.cn/article/35777

keytool.exe [edit]

keytool.exe文件存放于JDK安装后的下面路径里面

%安装路径%\Java\jdk1.8.0_40\bin

Troubleshooting [edit]

大部分APP的运行错误都是下面的错误开头的

reportJSException >>>> exception function:createInstanceContext, exception:white screen cause create instanceContext failed,check js stack ->

Uncaught TypeError: Cannot read property 'FormData' of undefined [edit]

非常重要

解决方法1:

 XXX

Uncaught SyntaxError: Invalid left-hand side in assignment [edit]

即左边的参数引用报错。

检测到当前使用的ADB不支持反向代理,如果出现连接不上的问题,请更换HBuilder自带的ADB进行真机运行或保持手机和电脑在同一个局域网下 [edit]

重新连接一次手机即可

[Vue warn]: Property or method "toJSON" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties. [edit]

原因不明,解决方法:

methods: {
			toJSON(){
				return this;
				
			},

navigateTo:fail can not navigateTo a tabbar page [edit]

原因:

navigateTo不能跳转到tarbar的页面

uni.navigateTo 改为 uni.switchTab

uni.switchTab({
	url: '/pages/index/index',
	success() {
		console.log("跳转成功")
	},
	fail(ddd) {
		console.log("跳转失败");
		console.log(ddd);
	}

})

图标、启动页面设置不起作用 [edit]

uniapp的“运行到手机”的话,manifest里面设置的图标等不起作用,只有打包之后才能生效


Comment:



(画像の文字列を入力して下さい)

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS