【问题标题】:Store data to db using Nativescript-vue使用 Nativescript-vue 将数据存储到 db
【发布时间】:2019-02-22 09:16:15
【问题描述】:

我开始学习 Vue JS,现在尝试学习 nativescript-vue。 我应该怎么做才能有一个离线数据库,我可以在不使用互联网连接的情况下存储我的数据。我听说过 Firebase,但我认为如果我没有互联网连接,我就无法使用我的应用程序。谢谢!

【问题讨论】:

    标签: nativescript nativescript-vue


    【解决方案1】:

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

    【讨论】:

    • 当您在应用程序上添加一些数据然后保存时,firebase 是否工作,当然它会将其保存到 firebase,然后当您尝试在没有互联网连接的情况下打开应用程序时,数据是否可以访问在你的手机里?
    • 或像这样。当我打开我的应用程序时,我添加我的名字然后将其保存到 Firebase,关闭我的互联网并再次打开我的应用程序。会显示我的名字吗?还是即使没有互联网也可以访问该应用?
    • 只需添加`firebase.init({ persist: true });`
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2016-04-20
      • 1970-01-01
      • 2019-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-23
      • 1970-01-01
      • 2011-02-26
      相关资源
      最近更新 更多