2012-02-24 9 views
0

私はsproutcore(v1.7.1.beta)を学び始めています。私は、適切な実装の問題について非常に心配しています。そのうちの1つはメインメニューです。Sproutcore menu

これを行うにはどのような正しい方法がありますか?

メニュー項目がクリックされた場合は状態を変更する必要があると思いますか?私はSC.TemplateCollectionViewでそれをやろうとしましたが、どの項目がクリックされたかをどのように判断するのか理解できません。

マイCollectionView:

App.MainMenuItemView = SC.TemplateCollectionView.extend({ 
    contentBinding: 'App.mainMenuController', 
    mouseUp: function(){ 
    // 
    } 
}); 
+0

「メインメニュー」とはどういう意味ですか?ポップアップが必要ですか? – hvgotcodes

+0

いいえ、ポップアップメニューは表示されません。私は、メインアプリケーションメニュー(ツールバー)、のようなもの[この](https://a248.e.akamai.net/assets.github.com/img/48d7aa5488b1fb3458a8cebc54df15d3d96398da/687474703a2f2f662e73696d706c65736964656961732e636f6d2e62722f636f636f612d6265616e732f53656c65637461626c65546f6f6c6261722e706e67) – corpix

答えて

1

あなたは

SC.SegmentedViewを使用します。

topNav: SC.SegmentedView.extend({ 
    classNames: ['top-nav'], 
    items: [ 
     { 
      title: "App.title1".loc(), 
      value: 1, 
      action: 'action1' 
     }, 
     { 
      title: "App.title2".loc(), 
      value: 2, 
      action: 'action2' 

     }, 
     .... 
    ], 
    itemTitleKey: 'title', 
    itemValueKey: 'value', 
    itemWidthKey: '85', 
    itemActionKey: 'action', 
    valueBinding: 'Binding to current tab value' 
})   

ような何かあなたが.... itemIconKey経由

をアイコンを指定それとも独自のカスタムSC.Viewをロールバックすることができます。

+0

うん、それは私が必要とする正確に何を意味します! Thx – corpix

+0

あなたはそのアクションをどこで実装する必要がありますか? (グラビアに申し訳ありません) – 11684

+0

あなたの状態図で試してみてください – hvgotcodes