En son projemde Ember.js, sürüm 1.7.0-beta.1
kullanıyorum. Bir listeyi sert bir yenilemeden kurtulmak için query params özelliğini kullanıyorum (örneğin, yeniden yüklendikten sonra listedeki seçili öğeler hala seçili).Sorgu paramları için kodlama URL'si Ember.js
Ben yöneten bir denetleyici var olduğunu:
export default Ember.ObjectController.extend({
queryParams: [{selectedFiles: 'files'}],
selectedFiles: Ember.A([]), //list of file ids
... //other props
actions: {
selectFile: function(file) {
//set or remove the file id to the selectedFiles property
}
});
Harikaydı çalışır, ancak bir şartla:
Krom & IE:
?yol url url kodlanmış olan/354? Files =% 5B "6513"% 2C "6455"% 2C "6509"% 2C "6507"% 2C "6505"% 2C "6504"% 2C "6511"% 5D
yol/354 dosya = "6513" % 2C "6455" % 2C "6509" % 2C "6507" % 2C "6505" % 2C":
FF (otomatik parantez setleri) 6504 "% 2C" 6511" ]
daha Okunması biçime sorgu-param-string şifresini çözmek için Ember bir yolu var mı? Belki decodeURIComponent()
işlevini bir yerlerde kullanabilir miyim?
istenen çıkış:
yolu/354 dosya = [ "6513", "6455", "6509", "6507", "6505", "6504", "6511"]
Harika, bu kancalar tam olarak ihtiyacım olan şey. Teşekkürler! –
Yukarıdaki yaklaşımı denedim, ancak 'her bir değerlerini' parseInt() olmadan 'value' döndürmek için 'deserializeQueryParam()' değişti. Sorun şu ki, sorgu parametreleri ile denetleyicinin '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' değerindeki bağlar, değerin ne zaman değiştirildiğini anlayamadığı görülmektedir Bu yüzden de, "relerializeQueryParam()" içindeki '' '' 'de' 'copy'()' i çağırmak zorunda kaldım. Böylece, Ember, değerin ne zaman güncellendiğini fark edecekti. Bu konu üzerinde başka biri sıkışırsa sadece bir kafa. – jessepinho