云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

虚拟主机_dnf连接服务器失败_精选特惠

小七 141 0

虚拟主机_dnf连接服务器失败_精选特惠

G'day.

不久前,我为老的JSON模型编写了一个小而方便的扩展,因为我正在寻找一种简单的方法,在UI5应用程序的会话之间持久化数据。我的客户热衷于在搜索屏幕上保存过滤器设置的功能,有很多选项,如果他们的最后一个过滤器在应用程序打开时重新加载,他们会喜欢的。

我的思路是:

我需要在会话之间保存数据,我的应用程序将完全关闭。我知道localStorage可以用来在浏览器中保存数据我知道我可以在JSON模型中存储东西我知道绑定在内部使用getProperty和setProperty

因此我的结论是简单地扩展JSONModel并重新定义setProperty和getProperty来首先检查localStorage,model+绑定功能本身将为我完成所有繁重的工作。漂亮?对。容易的?也可以。

这是最低限度。

本地存储可用于浏览器本身的键/值对存储。大多数现代浏览器可以存储相当多的数据。根据维基百科的这篇文章,每台主机的最小容量是5MB,但是用户在不同的浏览器中报告的值要高得多。

由于是键/值对,我们应该添加一个检查来查看存储的内容。如果它是一个JSON对象,大淘客怎么推广,那么它应该被字符串化,然后解析出来,数据中国,比如说,

根据流行的请求,这里添加了一个警告词,关于LocalStorage中存储的数据的可访问性。大多数基于浏览器的存储是不安全的,所以要小心敏感数据。正如在评论中指出的那样,可以访问您的笔记本电脑和在同一域上运行的任何代码(包括第三方脚本或通过CDN加载的脚本)的人将可以访问您的本地存储。因此,只存储不需要保密的数据。

我们需要一种方法来告诉JSONModel要存储哪些字段,因此除了数据对象之外,还可以看到fieldsToRetain数组。这将包含您要存储的属性的列表。之后,云服务器试用,调用普通构造函数。

存储是window.localStorage文件对象,我想我应该把它抽象出来,以防我想切换到cookies、sessionStorage或者Cordova/PhoneGap/Mobile服务。你永远不会知道!

仅此而已。_getLocalStorageParamName是一种生成更唯一标识符的方便方法。我自己使用登录的userID和manifest中的应用程序名,不想在不同的应用程序之间遇到麻烦(launchpad,物联网的应用,我看着你)。

你在这里看到的只是一个调用,查看当前参数是否在参数列表中,如果在,则将其传递给localStorage.setItem.

如果值是对象,它应该是字符串化的,否则它就不起作用了,因为javascript只会调用toString,这意味着您将得到[Object Object]和1,2,3,而不是您的对象或数组。

首先,它尝试从localStorage获取参数,如果参数为空,它将调用标准函数并从JSONModel获取。

然后,分析结果。JSON.parse文件输入垃圾时崩溃,因此如果调用失败,它将不会被严格化,我们将按原样返回它。

这将永远记住名称,并在请求时重新加载它。如果有人在"名称"字段中输入Jane,那么下次打开应用程序时,无论如何初始化,Jane的名称都会出现。

这是一个演示,以防您在这里创建了它,现在您希望看到它运行。一定要输入你的名字并重新加载页面。

就是这样。离线功能和半持久性存储,只需很少的工作量。这里的缺点是本地存储在某种程度上不受开发人员的控制,用户可以很容易地将其清除,因此不应将其用于存储任何严肃或机密的内容。

请随意想象,淘大客,以满足您的需要。我自己有方便的方法来存储和重新生成整个嵌套sap.ui.model模型。例如筛选对象,因为我似乎经常使用它。额外的好处是,没有fieldsToRetain对象,它只是一个JSONModel,所以我把它变成了一个库,并将它用于所有的事情。如果你想摆脱它再次,改变进口的定义,它就像什么都没有发生过?

左ocalstorageJSONModel.js文件