我目前在使用EmberJS路由器和外部库时遇到困难。使用EmberJS路由器,路由功能可以完美运行。此外,在组件中包含外部库也按预期工作。
但是两者的结合不起作用。
详细:库 (pdf.js( 正在操作 DOM 并在滚动文档时插入锚标记。这些锚标记工作正常。但是,如果我尝试"捕获"事件并使用 EmberJS 路由功能,它将无法正常工作!我无法在 DidRender(( 函数中创建事件侦听器并使用 preventDefault,因为在执行 DidRender 期间元素不存在。
有没有人遇到同样的问题,或者可能有解决这个问题的方法?
干杯弗朗兹
我假设您正在使用一个组件,
在钩子内初始化第 3 方库didInsertElement
而不是DidRender
。
DOM 在该钩子中准备就绪,您可以使用 this.$()
评估组件 HTML 元素。
这是什么意思?
但是,如果我尝试"捕获"事件并使用 EmberJS 路由功能,它将无法正常工作!
DOM 操作操作都是同步操作。在 didInsertElement
钩子中绑定您自己的偶数处理程序,但要密切注意您的this
上下文。