2012-10-26 60 views
0

我得到了下面的代碼:使用對象作爲參數發現流星不承擔任何結果

Clientes = new Meteor.Collection 'clientes' 

Template.listaClientes.clientes = -> 
query = {} 
query = Session.get "searchData" 
console.log "get: " + query.nombre 
clientes = Clientes.find(query) 

Template.listaClientes.events 
    'click .listItem' : -> 
    console.log "item clicked" 

Template.searchPane.events 
'click #btnToList' : -> 
    query = {} 
    #asigna los campos a query si no son blancos 
    if (x = $("#qNombre").val())? then query.nombre = x 
    if (x = $("#qCiudad").val())? then query.ciudad = x 
    console.log "q: " + query.nombre + query.ciudad  

    Session.set "searchData", query 

它運行完美的啓動,查詢是{}這樣的模板顯示集合中的每個文件。當我點擊#btnToList時,我沒有從Find clausule返回結果。如果我從瀏覽器控制檯手動將「searchData」設置爲{},它會觸發觸發器,並再次繪製所有文檔。

關於我失蹤的任何想法?

編輯: 做好以下工作正常,這讓我不知道什麼更回事:/

q={} 
    q.nombre = query.nombre if query.nombre? 
    Clientes.find q 

回答

0

很好,看起來像第二IF(#qCiudad)總是在添加值甚至是空的。 將檢查更改爲if(x = $(「#qCiudad).val())!=」「然後...使其成功並且查詢對象正確傳遞