0

我有以下问题/困境:我正在创建一个类似于 Facebook 左上角菜单的菜单(查找请求、收件箱、通知),我正在使用 Backbone Marionette CompositeView。我遇到的问题是,当我单击某个项目时,我在单击的元素中添加/删除 css 类,我如何通知其他项目他们需要删除 css 类(如果有),在单击的 ItemView 中不知道其他元素的存在。我有一个解决方案:

    <script id="ulTemplate" type="text/template">
    <ul class="ulItem">
    </ul>
</script>
<script id="internal-Item" type="text/template">    
    <div class="<%= className %>"></div>
</script>    
<div class="container">
</div>

http://jsfiddle.net/omher/hQeuD/ 但我不喜欢它/认为是正确的你觉得呢?如果不是我如何通知其他元素点击了其他元素?使用事件?谢谢

4

1 回答 1

0

使用事件。在此处查看我对您其他问题的回答: marionettejs 中的通知/错误处理

在您的示例中,每个都div应该是一个项目视图,并且click应该 (eg) MyApp.trigger("div1:clicked")。然后,在您的控制器中,您需要

MyApp.on("div1:clicked", function(){
  // adapt the CSS classes of the parent element here
})
于 2013-06-06T06:32:58.967 回答