[英]How can I redraw the ITHit Ajax File Browser in an Angular SPA when I've got all the instantiated parts?
出于各种原因,我将不进行讨论,已将ITHit Ajax File浏览器成功包装到Angular Controller中,该控制器本身已加载并包装在Angular-UI-Router UI-View中。
所有设置都是通过先前的服务调用进行配置的(以支持具有可变url的云环境),我什至解决了所有的CORS(跨源请求)问题,并且我们将自定义的Oath2实现与DAV服务器。 所有这些都可以与ITHit文件浏览器一起成功地作为内容浏览实现的核心。
到目前为止,当我导航某些区域时,Angular-ui-router会调整Url,视图会响应,而包裹ITHit的Angular Controller会响应视图更改,并且( 不重新加载视图 )重新获取适当的DAV URL具有可用的IT Hit命令(例如SetSelectedFolderAsync)
这是我的(非常简单的)挑战:当我导航到某些区域时-Angular-UI-router只是使用新内容重新加载包含的UI-View,但是当我返回时-ITHit Ajax文件浏览器不会重绘。
以下是我面临的挑战的一些指导原则(如果您提供我可以合作的内容,这是不可忽略的):
完成上述操作后-我希望可以将这些实例重新连接到现在返回的dom节点('afb-content-div')。 任何帮助深表感谢!
更新:下面的“答案”虽然看起来很有效-确实不是。 但是,我通过抓住DOM实例并在用户离开时存储它的内存来解决此问题,并在用户回到适当的区域后重新附加它。 这样,所有的ITHit Magic仍然绑定到正确的DOM节点,并且我不必担心部分重新实例化的怪异性。 现在看起来非常扎实。
我想到了!!! 看来如果我通过调用来重新实例化控制器:
var controllerInstance = new ITHit.oNS.Controller( originalSettingsObj );
一切都神奇地重新布线! 我在上面的代码中包装了一些检测“ afb-content-div” HTML DOM节点是否有子级的代码。
在深入研究代码之后,看起来这是作为ITHitLoader.oninit回调(来自AjaxFileBrowserLoader实例)的参数返回的参数对象。
感谢参与!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.