1

我正在尝试在小部件中使用 TinyMCE,但它失败了。我认为问题是当“viewAttached”被触发时视图仍然隐藏。似乎 TinyMCE有一个错误/功能(阅读最后一段)并且当目标(textarea)被隐藏(或在隐藏的 div 内)时无法显示。

我通过在 setTimeout 中完成这项工作来让它工作,但它很糟糕。

是否有一个我可以附加到的回调,它在视图被取消隐藏后(转换完成后)被触发?

4

2 回答 2

1

我找到了一种解决方案:

显式订阅路由器的“isNavigating” observable,并在“isNavigating”值变为 false 时添加 TinyMCE。

仍然:这有闪烁的效果 - 你看到 textarea 然后它被 TinyMCE 取代......但这不是 IMO 的 Durandal 问题。

编辑 1

最后,我认为最好的解决方案(目前......请点击下面的链接查看该主题的主题)是执行 setTimeout(xyz(), 0) - 我已经看到很多人使用这种技术并且它防止闪烁。

https://groups.google.com/forum/?fromgroups#!topic/durandaljs/5NpSwMBnrew

于 2013-05-17T17:24:57.173 回答
-1

当您使用组合时,Durandal 确实有一个回调 - 您只需将一个具有正确名称的函数放到您的 viewModel 上。在您的情况下,您将使用 viewAttached:

这是文档: http ://durandaljs.com/documentation/Interacting-with-the-DOM/

于 2013-06-14T12:48:14.913 回答