来自 Html 视图的更新会触发对动态视图的更新,将其保存到本地存储 loki js

Update from the Html View triggers update to the Dynamic View where in saving it to the LocalStorage loki js

我有一个 angular 工厂 class 用户,它通过动态视图实例化,将数据从视图填充到用户变量,然后绑定到视图。

每当绑定到视图输入类型='text'的userView.Name发生变化时,我需要更新本地存储,即文本字段中值的任何变化都会直接改变class 的用户实例中的文本,然后更新将更新 localStorage 的动态视图?

我有一个托管在 CodePen 的代码示例

Sample Code illustrating the problem

app.controller('TestController', ['$scope', 'Loki', 'MobileConstants', 'LocalStorageApi', 'User', 
function ($scope, Loki, MobileConstants, LocalStorageApi, User, Book) {
    LocalStorageApi.initialize();
    var userData = LocalStorageApi.UsersView.data()[0];

    var user = new User(userData);

    $scope.userView = user;
}]);

app.factory('User', ['$rootScope', function ($rootScope) {
    function User(userData) {
        User.prototype.Name = userData.nameSample;
    };

    User.prototype = {
        Name: null,
    }

    return User;
}]);

下面是说明问题的代码的样子

LokiJS 在浏览器中的默认存储适配器是本地存储,因此如果您将用户保存在 LokiJS 集合中,您需要做的就是调用 db.saveDatabase(),它会自动更新本地存储。 换句话说,您根本不需要 fiddle 直接使用 localStorage,除非您要保存未存储在 LokiJS 中的值。