他のJavascriptアプリケーションと同様に、シングルトンを作成してリクエスト/インポートするだけです。データをObservableに保存しておくと、その変更はすぐにビューに反映されます。
など。
ファイル:あなたがそのデータを読み込みたい任意のファイルでmyData.js
var observableArray = require("data/observable-array");
var observable = require("data/observable");
var DATA = new observable.Observable({
something: 'a value here',
somethingElse: 1
somethingMany: new observableArray.ObservableArray(['a', 'b', 'c'])
});
exports.getData = function() { return DATA; };
exports.fetchFromAPI = function() { /* something that fetches and updates DATA */ }
:
var data = require("./myData.js");
console.log(data.getData());
がObservables in NativeScript
詳細についてはこちらをご覧ください私は現在仕事です。問題は、永続的なストレージと常にこれを同期させる必要があることです。私はそれのためのSQLiteのプラグインを使用しています。しかし、全体のプロセスは非常に洗練されています。私はタイプをチェックし、それらを変換する必要があります。 SQLiteプラグインを使用するために、カスタムSQLクエリアダプタを作成しました。私は実装が本当に好きではありません。だから、私は他のフレームワークのようにすぐに使えるソリューションを探しています。私はAppcelaratorとSencha Touchの開発から来ました。これはすべてこれがかなりうまく実装されています... – terreb
NativeScript環境でこれを行うためのパッケージはありません。しかし、実装するのはそれほど重要ではありません。あなたのケースでは、アプリケーションの状態(上記の例では 'DATA')をマスターとして簡単に扱い、プロパティリスナーをpropertyChangeEventイベントに追加して保存するだけで、変更を永続ストレージに保存して保存することができます。 –
もう一度それは私がすでに行っていることです:)私は最近、weakEvenListenersに移動しました。なぜなら、NSがゴミを正しく収集するかどうかという懸念からです。私は20の異なった「店」と、そこから見える多くの「子孫」を持っています。アプリケーションの作業中に、メモリ使用量が急速にどのように増加するかを確認します。以前はクラッシュしましたが、いくつかの最適化を実装したときには、それがやめられました。しかし、私はまだこのすべての混乱に満足していないし、少なくとも第三者のソリューションを見たいと思う。 – terreb