1

我对离子框架很陌生。我正在学习框架并尝试构建一个简单的 android 应用程序,它使用 json 显示一个简单的列表。现在,我想添加一个收藏列表,其中将显示用户选择的项目。当用户单击一个按钮时,它应该将该项目添加到收藏夹列表中。当用户点击收藏选项卡时,它应该显示所有收藏项目的列表。目前我正在尝试使用简单的 json 和全局控制器来做到这一点。但我担心如果在手机上的 android 应用上使用它,它不会存储所有收藏夹,一旦应用关闭,它就会删除所有收藏夹。任何人都可以提出一个更好的方法来解决它。

提前谢谢了。

4

2 回答 2

1

我看到你用本地存储标记了这个问题,那么为什么不使用它呢?此外,您可以使用流行的 mBaaS 解决方案之一,例如FirebasegunDB

至于逻辑,这很简单:您创建一个新数组,用于存储这些收藏夹(您处理收藏夹按钮单击时的添加/删除)。然后,您使用收藏夹选项卡上的 ng-repeat 列出收藏夹数组。

于 2016-01-07T12:01:54.577 回答
0

最好的方法是pouchdb,我以同样的方式使用。!

使用命令安装 pouchdb:

bower install pouchdb

在 index.html 中添加以下行

<script src="lib/pouchdb/dist/pouchdb.min.js"></script> 

提供服务:

.factory('FavService', function (UserService) {
    var FavService = {};
    var localDB;
    var user = UserService.getUser();


    if (user) {
        localDB = new PouchDB('u_' + user.id);
    }

    FavService.configDbs = function () {
        //console.log('config dbs');
        var user = UserService.getUser();
        if (user) {
            localDB = new PouchDB('u_' + user.id);
        }
    };

    FavService.storeToLocal = function (product) { //change function name
        if (localDB && product !== "") {
            localDB.post(product);
            // console.log("Action completed");
        } else {
            // console.log("Action not completed");
        }
    };

    FavService.getLocalList = function (callback) {
        if (localDB) {
            localDB.allDocs({
                include_docs: true
            }).then(function (response) {
                // console.log("response :"+JSON.stringify(response));
                localDB = response.rows;
                callback(response.rows);
            }).catch(function () {
                callback(null);
            });
        } else {
            FavService.configDbs();
        }
    };
});
于 2016-01-08T05:53:11.390 回答