私はJSON.stringify
とJSON.parse
を使用して、localStorage
からオブジェクトを格納して検索しています。しかし、JSON.stringify
は、オブジェクトからインスタンス関数を除外しているようです。したがって、JSON.parse
以降は、myObject.doSomething()
に電話することはできません。私はこの機能を手動で取り付けることができることを知っています:myObject.doSomething = MyClass.prototype.myFunction
しかし、このアクションがウェブアプリで何度も繰り返されると面倒です。どのように人々は通常JavaScriptでこれを行いますか?localstorageから取得したオブジェクトの再構成
0
A
答えて
2
JSONは明らかに関数自体を保持しません。単純な型付き変数のみを格納します。これをパスで解決する方法は、クラス内のメソッドを復元し、そのメソッドをJSONのデータで呼び出すだけで、そのクラスに属するデータでクラスを再設定することです。
私はこれをコードベースのバリューオブジェクト(VO)デザインパターンで広範囲に行っており、かなりうまく機能しています。あなたが窓越しにやり取りしようとすると、このアプローチではIe7/Ie8はあまり親切ではありません。私が思い出したように、いくつかのプロパティで正しい "typeof"を返さないのはIE7だと思うので、クロスウィンドウ通信が関わったときのリストアにはさまざまな課題がありました。
+0
JSでこれを行うにはエレガントな方法はないと思いますか?誰かが別の提案を思いついてからこれを答えにするかどうかをもっと見るのを数日待つよ... – pckben
関連する問題
- 1. localStorageから値を取得し、クラス
- 2. Chromeからのデータの取得localStorage
- 3. LocalStorageからBackbone.jsモデルを取得する
- 4. localstorageから属性を取得する
- 5. 構成セクションデザイナツール - オブジェクトからXMLを取得する
- 6. 作成したばかりのオブジェクトからFirebase IDを取得
- 7. PhonegapはJavaコードからlocalstorageの値を取得しますか?
- 8. データベースからプロパティーを取得して構成Beanを再ロードする方法
- 9. Laravel、新しく作成されたオブジェクトからIDを取得
- 10. localStorageから値を取得し、iframe URLに追加する
- 11. jslint.com |取得エラーのlocalStorage
- 12. 取得とのlocalStorage配列
- 13. ジェイド取得nodejsのlocalStorage
- 14. オブジェクトをプロパティ(マーク、モデル)を取得するためにキーでlocalStorageにオブジェクトを取得する方法は?
- 15. ビデオからの3D軌道再構成
- 16. 合計からの行列再構成
- 17. ワイヤフレームスケッチからの3D再構成
- 18. トークンからのNLTK再構成文
- 19. 角2 - オブジェクトの格納と取得array from localStorage
- 20. 実行時にEsper構成オブジェクトからeventTypeを取得する方法
- 21. localstorageからチェックボックスの値を取得する方法
- 22. LocalStorage:各キーからすべての値を取得
- 23. Localstorageからの情報を取得できません - JavaScript
- 24. iframeにlocalstorageアイテムを取得
- 25. イメージファイルからピクセル色を読み取るプロットデータ再構成
- 26. localStorageデータを送信してから再度取得することはできますか? AJAX?
- 27. 削除のためにlocalStorageから一意のIDを取得する方法
- 28. 私は、このJSONオブジェクトから値を取得したいJSONオブジェクトから
- 29. は、リモートの「構成」サーバーからモバイル構成を取得するための「反パターン」ですか?
- 30. 値からキーを取得するHTML5 localStorage
'localStorage'では、オブジェクトを値として保持できます。キーは文字列でなければなりません。それらをストリングとして保存する特別な理由はありますか? –
唯一の理由は、このサイトのどこかで、最新のブラウザはlocalStorageの文字列しかサポートしていないと言っていますが、仕様ではオブジェクトをサポートする必要があると言われています。これは本当ですか? – pckben
私はちょうどChromeでテストしましたが、localStorageから取得するオブジェクトは '[object Object]'です。タイプを復元するにはどうしたらいいですか?私はインスタンスメソッドとプロパティを呼び出そうとしましたが、定義されていません。 – pckben