2016-03-21 17 views
0

Bir bağdaştırıcıdaki geçerli rota param'lerine erişme sorunları yaşıyorum. Mağazaya bakmayı denedim ve iletilen ancak hiçbir şey bulamayan nesneleri yazdım.Bir adaptör içinde rota params'larına erişim imber ile

Pencerenin URL'sine erişmek için window.href.location kullanabileceğimi ve rota parametresine erişmek için bazı manipülasyonlar yapabileceğimi biliyorum, ancak url değişebileceğinden dolayı rahat bir kodlama yapmıyorum.

+0

Kullanım durumunuz nedir link? Neden onları bir rota/kontrolörde kullanamazsınız? – Pavol

+0

İsteğimi oluşturmak için rota paramillerinden birine ihtiyacım var url @Pavol – goofiw

cevap

0

Verilerinizi sorgulamak için kullandığınız bir yönteme iletilen sorgu değişkenini kullanmanızı öneririm. varsayılan uygulanmasını

Bak dinlenme adaptörü en queryRecord():

query(store, type, query) { 
     var url = this.buildURL(type.modelName, null, null, 'query', query); 

     if (this.sortQueryParams) { 
     query = this.sortQueryParams(query); 
     } 

     return this.ajax(url, 'GET', { data: query }); 
    }, 

Bu sorgu argümanı erişebilir ve buildURL kullanır işlevi buildURL() veya query() geçersiz kılmak ve bunu size gereken şekilde ayarlayabilirsiniz.

Daha sonra yapmanız gerekenler, URL'den sorgu parametrelerini okumak için rotanızı veya denetleyicinizi kullanmak ve sorgu nesnesini ihtiyacınızı yansıtacak şekilde depolamaktır. İşte

neden bir adaptör rota params gerekiyor, Ember-Data DS.Adapter API

+0

Sorgu parametresini desteklemeyen this.store.findAll kullanarak kayıt alıyorum – goofiw

+0

modelimi referans alarak modelimi kullanmaya çalıştım doc_fragment ') ajax çağrılarım dışarı çıkıyor ve adaptörüm hiç çağrılmıyor gibi görünüyor. – goofiw

+0

Modelinizde "doc_fragment" nedir? Eşzamansız olarak yüklenecek bir özellik mi? Neden birincil sorunuzla ilgili, o zaman ben ilişkiyi görmüyorum. Haklısınız, 'findAll()' şimdilik hiç sorgu paramlarını desteklemiyor. Aynı sorunu hatırlıyorum ve kontrolörden 'query()' aramaya geçerek, ancak çözelti içinde 'find()' 'a delege ederek, kirli bir çözüm olmasına rağmen çözdüm. – Pavol

İlgili konular