KnockoutJS翻番结合Widget应用(KnockoutJS double binding w

2019-10-16 13:41发布

我有,我已经开发了一个基于Widget应用 ,它本身注入到消费应用的DOM的情况。 那小部件使用KnockoutJS来呈现它自己的UI,并将其绑定做它自己的视图模型。

消费应用程序(可能不是我)也使用KnockoutJS有一个完全不同的视图模型来呈现它自己的UI。

什么情况是,消费页面加载和运行ko.applyBindings(hostPageViewModel)。 然后小部件加载和运行ko.applyBindings(widgetDataViewModel)。 一旦第二applyBindings被执行,消费页失去它的上下文的约束模型显示任何内容。 在调试,我可以看到数据呈现的消费应用程序,然后得到由窗件应用程序擦拭。

除了试图维持淘汰赛的两种完全不同的情况下(甚至不知道这是可能的,但我在想newing小部件的版本,把它kotwo),有没有一个解决方案?

我不能applyBindings只有一个,因为这个设计的应用风格内的应用程序的时间。

我喜欢一些帮助,这一个,如果任何人有意见。

Answer 1:

我想你会需要你的范围适用于第二只绑定到只添加到DOM您的Widget加载后,你的头您的部件包含DIV applyBindings被调用。

因此,小部件会打电话

ko.applyBindings(widgetViewModel, $widgetDiv);

这将阻止他们踩着对方的脚趾。

至于其在页面上KO的两个版本,我不知道后果是什么。 你可以测试KO的对象,如果没有找到动态包括你的文件吗?

希望这可以帮助。



文章来源: KnockoutJS double binding widget application