HarmonyOS 鸿蒙Next preferences (用户首选项)怎么跨page获取数据?
HarmonyOS 鸿蒙Next preferences (用户首选项)怎么跨page获取数据? 我有两个page,index.ets和login.ets,是想实现index判断是否登录,在login页面中preferences.put存储登录信息,然后index页面进行调用,最终获取到的为空,在login页面是可以获取到储存的值的,两个页面都是用的下面的代码区别在于,一个get一个put,是用户首选项无法跨页面存储,还是我的调用方式不正确?
preferences.getPreferences(getContext(this), PREFERENCES_NAME, (err, val) => {
let preferencesUserdata = val;
let promise = preferencesUserdata.get('userdata', 'nodata');
promise.then((data) => {
console.log("CESHISHI:" + JSON.stringify(data))
})
})
更多关于HarmonyOS 鸿蒙Next preferences (用户首选项)怎么跨page获取数据?的实战教程也可以访问 https://www.itying.com/category-93-b0.html
更多关于HarmonyOS 鸿蒙Next preferences (用户首选项)怎么跨page获取数据?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
没有持久化吧。
在HarmonyOS(鸿蒙Next)中,使用preferences
(用户首选项)跨页面获取数据可以通过preferences
的持久化存储特性实现。首先,在需要存储数据的页面中,使用preferences
的put
方法将数据保存到本地存储中。例如:
import preferences from '@ohos.data.preferences';
// 获取preferences实例
let prefs = await preferences.getPreferences(this.context, 'myPrefs');
// 存储数据
await prefs.put('key', 'value');
await prefs.flush();
在另一个页面中,可以通过相同的preferences
实例获取已存储的数据。例如:
import preferences from '@ohos.data.preferences';
// 获取preferences实例
let prefs = await preferences.getPreferences(this.context, 'myPrefs');
// 获取数据
let value = await prefs.get('key', 'defaultValue');
通过这种方式,可以在不同的页面中共享和获取存储在preferences
中的数据。preferences
数据存储在同一应用的沙盒中,确保数据隔离和安全。