嵌套视图模型中的Knockout事件处理程序

时间:2012-09-24 04:31:25

标签: knockout.js knockout-2.0

我有多个需要导航菜单的UI组件。我正在尝试创建一个其他viewModel可以使用的MenuItem viewModel。

这个想法类似于Knockout Webmail Example

例如,“Window”viewModel可以有一个“MenuItems”数组。 MenuItem包含所有行为功能(悬停和活动状态)。

悬停&在我的用例中,活动状态非常标准,每个MenuItem都需要单独触发单击处理程序。

如果我可以在MenuItem viewModel中附加事件回调以便父viewModels可以处理每个menuItem的click事件,那将是理想的。

我可以在父viewModel 中定义点击处理程序,但是如何在foreach模板绑定中引用每个MenuItem的点击处理程序?

我还在试验并在jsFiddle中创建了一个示例。我现在对标记感到非常满意,因为数据绑定太冗长了。

提前谢谢。

1 个答案:

答案 0 :(得分:3)

尝试使用ko.contextFor(this)

看看Ko unobtrusive event handlers