我可以通过其点击事件回复列表项中的菜单项吗?

时间:2015-09-08 03:08:04

标签: javascript meteor html-lists menuitem

要设置Session变量以响应菜单项的选择,列表项click事件是否应该替换锚标记?

在我的Meteor应用程序中,我最初打算使用铁路由器路由来响应菜单项选择,如下所示:

func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {

    let sectionArray = allCards[section]
    return sectionArray.count

}

...但现在我想我宁愿使用动态模板,并使用Session变量的值来替换正文中的模板(SPA风格)。这就是解决这个问题的方法:

HTML:

<li><a href="{{pathFor route='scheduleOpenExisting'}}">Open Existing</a></li>

使用Javascript:

<li name="mniOpenExisting" id="mniOpenExisting">Open Existing</li>

IOW,我可以取消锚标记并回复菜单项的点击?

1 个答案:

答案 0 :(得分:1)

是的,这是正确的,<a>不是必需的。

"click #mniOpenExisting": function (event) {
  // take action here when element with id 'mniOpenExisting' is clicked
}

I like the coding style set out here,将用于表示的id和类与事件处理程序的数据标记分开。

Iron:路由器仍然是SPA风格的,但是它已经内置的附加功能可以节省您的时间并保持您的代码更清洁自己重新实现此功能,尽管这取决于您的复杂程度应用程序将。

另见Meteor UI Pattern: Keeping App State on the URL。这通常是比同一任务的Session变量更好的选择。