【发布时间】:2019-02-22 09:16:15
【问题描述】:
我开始学习 Vue JS,现在尝试学习 nativescript-vue。 我应该怎么做才能有一个离线数据库,我可以在不使用互联网连接的情况下存储我的数据。我听说过 Firebase,但我认为如果我没有互联网连接,我就无法使用我的应用程序。谢谢!
【问题讨论】:
标签: nativescript nativescript-vue
我开始学习 Vue JS,现在尝试学习 nativescript-vue。 我应该怎么做才能有一个离线数据库,我可以在不使用互联网连接的情况下存储我的数据。我听说过 Firebase,但我认为如果我没有互联网连接,我就无法使用我的应用程序。谢谢!
【问题讨论】:
标签: nativescript nativescript-vue
您可以在启用持久性的情况下使用 Firebase,也可以很好地将 sqlite (https://www.npmjs.com/package/nativescript-sqlite) 与 vuex 一起使用。
【讨论】:
简单的解决方案: 如果您在应用程序中使用应用程序设置,则可以将简单数据存储在 json 对象中。
如果您结帐:https://www.nativescript.org/blog/key-value-local-storage-in-a-vue.js-nativescript-app-with-vuex
本文包含一个分步示例,说明如何实现,包括使用 vuex 存储。
从那个页面:(商店)
import Vue from 'nativescript-vue';
import Vuex from 'vuex';
import * as ApplicationSettings from "application-settings";
Vue.use(Vuex);
const store = new Vuex.Store({
state: {
firstname: "",
lastname: ""
},
mutations: {
load(state) {
if(ApplicationSettings.getString("store")) {
this.replaceState(
Object.assign(state, JSON.parse(ApplicationSettings.getString("store")))
);
}
},
save(state, data) {
state.firstname = data.firstname;
state.lastname = data.lastname;
}
}
});
Vue.prototype.$store = store;
module.exports = store;
然后保存在您的应用中:
methods: {
save() {
this.$store.commit("save", this.input);
},
}
您还需要添加一个变更以保存到应用程序设置:
一个简单的方法是添加到保存突变:
save(state, data) {
state.firstname = data.firstname;
state.lastname = data.lastname;
ApplicationSettings.setString("store", JSON.stringify(state));
}
【讨论】: