Я новичок в enyo. Я хочу сохранить состояние переменной (которое является логическим), когда приложение выполняется. Затем выйдите из приложения. После этого я хочу получить состояние (true/false) переменной, когда приложение снова откроется. Как сохранить и восстановить данные в enyo?Сохранить и восстановить данные enyo
ответ
Я хотел бы использовать LocalStorage (API Docs here), чтобы сохранить Ваше состояние каждый раз, когда изменение состояния происходит в вашем приложении:
myStateChange: function() {
localStorage.myState = this.myState;
}
Примечание: чтобы гарантировать, что myStateChange вызывается каждый раз, когда вы установите его в другом месте, используйте this.set(), чтобы установить его, а не this.myState = newValue ;.
Тогда в методе rendered() или create() я бы восстановил это состояние из localStorage.
rendered: function() {
this.inherited(arguments); // Call base rendered method
this.myState = localStorage.myState; // Restore your saved value from localStorage
}
Нет специальных крючков для хранения данных, но очень легко связать с собственными возможностями хранения данных, доступными для вашей платформы. Вы можете взглянуть на эти варианты:
http://dev.opera.com/articles/view/taking-your-web-apps-offline-web-storage-appcache-websql/
http://docs.phonegap.com/en/1.0.0/phonegap_storage_storage.md.html
Если вы используете enyo.Collection
вы можете получить записи из него с collection.raw()
, а затем использовать JSON.stringify()
, чтобы получить то, что вы можете поместить в LocalStorage ,
Вы даже можете использовать куки. Надеюсь, это даст вам некоторые места, чтобы начать искать.