详细问题描述
我在写vue混合nvue 项目中,发现一个问------
在ios下,
nvue和vue 页面切换时 ,sqlite数据库被关闭了
我是在app.vue 中打开的数据库
数据库打开
onLaunch:async function() {
console.log('App Launch')
var flag = db.checkDb()
if (!flag) {
await db.openDB()
await db.executeSQL('DROP TABLE IF EXISTS user')
await db.executeSQL(
`CREATE TABLE IF NOT EXISTS user(
id INTEGER PRIMARY KEY,
name TEXT NOT NULL
)`)
}
}
首页监听:
onShow() {
this.checkDb()
},
methods: {
async checkDb() {
var flag = db.checkDb();
console.log('数据库是否开启:' + flag)
var res = await db.selectSQL('select * from user')
console.log('数据库长度'+res.length)
},
}
nuve页监听
onLoad() {
this.checkDb()
},
methods: {
async checkDb() {
var flag = db.checkDb();
console.log('数据库是否开启:' + flag)
var res = await db.selectSQL('select * from user')
console.log('数据库长度'+res.length)
}
}
随后 在 首页和他的子页面 分别获取数据库的数据,
然后在子页面 返回 首页后 数据库被关闭了
结果如下:
附件如下
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[HBuilderX版本]2.4.6.20191210
[系统]Mac 10.13.6 (17G65)
App运行环境说明
[IOS Simulator]Version 10.1
我所期望的是,在我想关闭他前,他都应该开着
虽然可以每次在获取数据库前 检测数据库是否关闭,但看起来 这好像 有问题