2016-03-26 8 views
1

Ember.js'de, query-params, bir sorgu dizesi içeren bağlantılar oluşturmak için link-to ile kullanılabilir. Örneğin: hemen belli değildir?İsteğe bağlı sorgu paragrafları Ember.js üzerinde

<p>{{link-to "Search" 'search' (query-params q='london')}}</p> 

query-params için keyfi paametreleri nasıl olduğunu. Bu, anahtar/değerleri sorgu dizesini yapacak bir nesneyi iletmektir. (Bir hata atar ki) Aşağıdaki Örnek: Ember kaynak koduna baktığımızda

// At the component 
myParams: { 
    q: 'london', 
}, 

{{!-- At the template --}} 
<p>{{link-to "Search" 'search' (query-params myParams)}}</p> 

<!-- The end result --> 
<p><a href="https://stackoverflow.com/search?q=london">Search</a></p> 

, bunu nasıl yapılabileceği görebilirsiniz. query-params tarafından döndürülen gibi görünen bir nesneyi bir araya getirebilirim.

// At the component 
myParams: { 
    isQueryParams: true, 
    values: { 
    q: 'london', 
    }, 
}, 

{{!-- At the template --}} 
<p>{{link-to "Search" 'search' myParams}}</p> 

Ancak bu benim için bir iç, özel arayüzü gibi görünüyor: Doğru yeterince aşağıdaki nesne link-to tarafından istediğim gibi yorumlanır. Yani sorum şu: Bunu yapmak için onaylanmış bir yol var mı? (Ve bu nedir?) Şu anda

cevap

2

tek çözüm kendi yardımcı oluşturmaktır:

// app/helpers/hash-query-params.js 
import Ember from 'ember'; 

export function hashQueryParams([hashParams]) { 
    return Ember.Object.create({ 
    isQueryParams: true, 
    values: hashParams 
    }); 
} 

export default Ember.Helper.helper(hashQueryParams); 

sonra bu Ember tarafından desteklenebilir

<p>{{link-to "Search" 'search' (hash-query-params myParams)}}</p> 

gibi kullanırız. Bir RFC açın veya bu yardımcı ile bir addon oluşturun! :)