使用Nativescript-vue将数据存储到db

时间:2019-02-22 09:16:16

标签: nativescript nativescript-vue

我开始学习Vue JS,现在尝试在nativescript-vue中学习。 为了拥有一个脱机数据库,我可以做什么而无需使用互联网连接就可以存储我的数据。我听说过Firebase,但我想如果没有互联网连接就无法使用我的应用程序。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以在启用持久性的情况下使用Firebase,也可以在vuex中很好地使用sqlite(https://www.npmjs.com/package/nativescript-sqlite)。

答案 1 :(得分:-1)

简单的解决方案: 如果您在应用程序内使用应用程序设置,则可以将简单数据存储在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突变中:

 save(state, data) {
                state.firstname = data.firstname;
                state.lastname = data.lastname;
                ApplicationSettings.setString("store", JSON.stringify(state));
            }