2013-03-27 39 views
0

我剛剛開始使用流星,我有點困惑;我不確定這是Meteor問題還是Handlebars問題。我試圖創建一個嵌套的菜單(一組可點擊的div,其中每個切換一個子菜單組成的更多可點擊div)。我希望默認隱藏子菜單,但當用戶單擊父項時會出現。流星/把手#如果不自動更新

這是我有:

Template.sidebutton.events({ 
    click : function() { 
     this.clicked = !this.clicked; 
     clickHandlers[this.label](); 
    } 
}) 

<template name = "sidebutton"> 
    <div class = "sidebutton" id = "sidebutton_{{label}}"><p>{{label}}</p></div> 
    {{#if clicked}} 
     {{#each submenus}} 
      {{> submenu}} 
     {{/each}} 
    {{/if}} 
</template> 

我驗證過的onclick功能觸發,當我點擊; this.clicked被切換,我的點擊處理程序被調用。我也驗證過,如果我刪除#if塊或者如果在初始頁面加載時將其設置爲true,則會出現子菜單。但是當我點擊時子菜單不會出現。

還有什麼我需要做的嗎?我發現的有關流星的一切似乎暗示,如果我更改任何數據,受影響的對象將被重新渲染,但似乎它們並未在此處重新渲染。

回答

0

我想「點擊」是在你的mongodb數據庫集合元素,在這種情況下,你不能像你這樣改變它的值。你必須這樣稱呼:

+0

謝謝。我還沒有真正使用MongoDB;我只是初始化按鈕上下文作爲數組文字。無論如何,它不起作用,但我想通過Session變量來做我想做的事情。謝謝! – 2013-03-28 00:37:46

+0

是的,點擊需要被動,即:mongodb,session vars,... – 2013-03-28 08:40:40