与Knockout组件通信

时间:2014-11-14 13:24:03

标签: knockout-components

有没有办法将父视图模型传递给KnockoutJS组件?

我有一个包含引导模式对话框的组件,用于搜索客户并返回选定的客户。目前,为了显示对话框,我从组件的params属性中的viewmodel传递一个可观察的布尔值。要使对话框出现,我将其设置为true,从而调用对话框。我还在params中传递了一个回调函数来返回结果。

这是一个小提琴演示,展示了这个概念:http://jsfiddle.net/Quango/5bxbsLt6/

传递可观察的布尔值来调用对话框感觉不对,但它是我唯一可行的解​​决方案。我唯一的另一个想法是使用ko-postbox来创建发布/订阅功能。

感觉应该有一种方法来调用动作,例如component.Show()

1 个答案:

答案 0 :(得分:1)

我认为这里的答案是没有更好的方法。要从父视图模型传递到组件,请传递可观察值,然后直接使用它或订阅组件中的更改。

我将在Knockout github项目上提出一个建议来考虑某种形式的界面。