我正在尝试在小部件中使用TinyMCE但它失败了。我认为问题是当触发“viewAttached”时视图仍然隐藏。似乎TinyMCE has a bug/feature(读取最后一段)并且当目标(textarea)被隐藏(或隐藏的div内)时无法显示。
我通过在setTimeout中完成工作来实现它,但它很糟糕。
在取消隐藏视图后(转换完成后)是否会附加一个可以附加的回调?
答案 0 :(得分:1)
我找到了一个解决方案:
明确订阅路由器的“isNavigating”observable,并在“isNavigating”值变为false时添加TinyMCE。
仍然:这有闪烁的效果 - 你看到textarea然后它被TinyMCE取代......但这不是一个Durandal问题IMO。
修改1
最后,我认为最好的解决方案(现在......按照下面关于主题的主题的链接)是做一个setTimeout(xyz(),0) - 我见过很多人使用这个技术,它可以防止闪烁。
https://groups.google.com/forum/?fromgroups#!topic/durandaljs/5NpSwMBnrew
答案 1 :(得分:-1)
当您使用合成时,Durandal确实有回调 - 您只需使用正确的名称将一个函数放到viewModel上。在您的情况下,您将使用viewAttached:
这是文档: http://durandaljs.com/documentation/Interacting-with-the-DOM/