3

XHRを介してこの時代の複雑なjsonオブジェクトを消費するための最良の方法は何ですか?

データバインディングを行うとき、javascriptで、これまで私はSenchaのExt.Js/Senchaタッチモデルを使用しました

例えば:

    Store = Ext.create('Ext.data.Store',{
    Constructor: function (config) {
        var config = Ext.apply({}, config, {
            model: 'BasicModel',
            proxy: {
                type: 'ajax',
                url: 'myServerUrl.json',
                reader: {
                    type: 'json'
                }
            }
        });
    }   
});    

これにより、サーバーデータを非常に簡単に使用でき、ストア周辺のあらゆる種類のクールな魔法(REST /並べ替えなど)に便利な方法もあります。

現在、私が行っているいくつかのプロジェクトでは、ExtJの使用量を減らして実験しています。これは、いくつかの点で少し重いため、Extのデータストアと同様の/より優れた機能を持つものを探しているためです。ExtJSではありません(たとえば、Extではありません)。 -芯)

現時点で最高のXHRユーティリティキットは何ですか?

4

2 に答える 2

1

Knockout.JSまたはBackboneをお勧めします。

Knockout.jsのドキュメントから:

HTML

<p>First name: <input data-bind="value: firstName" /></p>
<p>Last name: <input data-bind="value: lastName" /></p>
<h2>Hello, <span data-bind="text: fullName"> </span>!</h2>

JS

// Here's my data model
var ViewModel = function(first, last) {
    this.firstName = ko.observable(first);
    this.lastName = ko.observable(last);

    this.fullName = ko.computed(function() {
        // Knockout tracks dependencies automatically. It knows that fullName depends on firstName and lastName, because these get called when evaluating fullName.
        return this.firstName() + " " + this.lastName();
    }, this);
};

ko.applyBindings(new ViewModel("Planet", "Earth")); // This makes Knockout get to work

私が述べたように、バックボーンはあなたが特別な質問をするための解決策でもあります。 これは、 noobsがnoobsのために設計したバックボーンチュートリアルです。これは、クロスドメイン処理に関するより中間的なチュートリアルです

于 2012-07-18T12:44:16.380 に答える
0

Angular.jshttp ://angularjs.org/も検討する必要があります。これは私の同僚の1人であるGregWeberによるブログ投稿です。

http://tunein.yap.tv/javascript/2012/06/11/javascript-frameworks-and-data-binding/

彼はさまざまなフレームワークの例をたくさん持っています。彼のブロブ投稿をここに複製するのが良いのか、それとも単にリンクを提供するのが良いのかはわかりません。今のところ、リンクを残します。

于 2012-07-28T14:34:16.347 に答える