SORU
24 NİSAN 2013, ÇARŞAMBA


AngularJS: Kaynaklar (ORM Tarzı)DİNLENMEK için harita Nesneleri Oluşturma

AngularJS için oldukça yeni değilim, ama benim Sunucunun SONUNA kadar Apı uç bağlamayı çok net değilim.

Örneğin, "" GET-ıng tarafından olsun kaynak:/1//Resim. myApi görüntü var ki Bu çeşitli alanları ile bir json nesnesi döndürür. Hadi gibi bir şey dediler

{url: "some/url", date_created: 1235845}

Şimdi, benim AngularJS içinde temsili bir çeşit bu app "Resim" nesne istiyorum. Bu temsili alanların sadece bir eşleme daha fazla bir şeydir -"", örneğin bir şey date_create sahada okunabilir. dönüştüren bir işlevi yardımcı işlevler eklemek istiyorum

Biliyorum $Kaynak Hizmet, ama ben belirsiz ne yapmam gerek oluşturmak için bir temel "sınıf" Açısal kullanan, Kaynak almak için JSON nesne, ama sonra bunu geliştirir ekleyerek çeşitli yardımcı işlevler.

Bonus puan:

""Modeller arasındaki ilişkiler nasıl ekleneceğini de anlamış değilim Örneğin, belki bir "kullanıcı" kaynak var gömülü içinde bir "görüntü" kaynak ve ben istifa Kullanıcı kaynak, ama mümkün olması için çağrı "Resim" yardımcı işlevler üzerindeki "Görüntü" bölümü model.

CEVAP
28 NİSAN 2013, Pazar


JSData
Açısal-veri şimdi "çerçeve-agnostik kullanım kolaylığı ve huzuru için oluşturulmuş veri deposu."gibi başlayan bir proje Mükemmel belgeler ve ilişkiler için destek, birden fazla arka uç (http, localStorage, ateş üssü, doğrulama ve tabii açısal entegrasyon vardır.
http://www.js-data.io/

BreezeJS
AngularJS YouTube channel 7* *video BreezeJS kullanma özellikleri

Hatta istemci tarafı filtreleme ve diğer güzel şeyler destekleyen gelişmiş bir ORM. En iyisi OData destek ama arka ucu diğer türleri üzerinde çalışmak için yapılabilecek arka uç için uygundur.

ngResource
Başka bir seçenek de burada kendi işlevleri ile uzatmak için nasıl bir örnek ngResource: kullanmaktır

module.factory('Task', function ($resource) {
    var Task = $resource(WEBROOT   'api/tasks/:id', {id: '@id'}, {update: { method: 'PUT'}});
    angular.extend(Task.prototype, {

        anExampleMethod: function () {
            return 4;
        },

        /**
         * Backbone-style save() that inserts or updated the record based on the presence of an id.
         */
        save: function (values) {
            if (values) {
                angular.extend(this, values);
            }
            if (this.id) {
                return this.$update();
            }
            return this.$save();
        }
    });
    return Task;
});

NgResource çok sınırlı, hatta göre bulunurOmurga.Modelsahip:

  • Özel JSON Modeli ile ayrıştırma.ayrıştırmak
  • Olası bir BaseModel uzatmak (ngResource Hiç baseUrl)
  • Diğer Omurga gibi kanca.LocalStorage sağlayan sync, vb.

Restangular
"AngularJS gerisini servis düzgün ve kolay" . API Dinlendirici Kaynakları ^br> http://ngmodules.org/modules/restangular

Veya diğer ORM . bir deneyin
What options are available for client-side JavaScript ORM?

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Matt Harding

    Matt Harding

    23 Mayıs 2006
  • SignatureSeries

    SignatureSer

    24 Aralık 2006