由于各种原因,我将不再赘述,我已成功地将 ITHit Ajax 文件浏览器包装在 Angular 控制器中,该控制器本身已加载并包装在 Angular-UI-Router UI-View 中。
所有的设置都是通过前面的服务调用来配置的(以支持带有多变 url 的云环境),我什至已经解决了我所有的 CORS(跨源请求)问题,我们已经连接了一个自定义的 Oath2 实现DAV 服务器。所有这些都成功地与 ITHit 文件浏览器一起工作,作为我们内容浏览实现的核心。
截至目前,当我导航某些区域时,Angular-ui-router 调整 Url,视图响应,包装 ITHit 的 Angular 控制器响应视图更改,并且(不重新加载视图)重新获取适当的 DAV url使用可用的 IT Hit 命令(例如 SetSelectedFolderAsync)
这是我的(希望是简单的)挑战:当我导航到某些区域时 - Angular-UI-router 只是重新加载包含新内容的 UI-View,但是当我返回时 - ITHit Ajax 文件浏览器不会重绘。
以下是我的挑战的一些指导方针(如果你提供我可以使用的东西,可以忽略):
- 我宁愿避免不得不“隐藏” ITHit 容器(因为它无关紧要,而且我不想在视图中的状态更改时管理使其保持最新状态。这些更改会影响 DAV 路径)。我也不想担心不必要的网络流量。我真的很想让 Angular-UI-Router 用浏览器所在的 ui-view 来做它的事情。
- 我想保留任何需要对 Angular 控制器进行调用的调用(它管理身份验证、路径解析和上下文设置配置——随着用户导航而变化)。
- ITHit 解决方案生成的所有内容(最重要的内容)都存储在单例('DavBrowserService')中 - 所以当我返回文件浏览器视图时,我存储了初始实例化的所有内容,包括:
- ITHit 对象的一个实例
- ITHit.Loader 的生成实例
- 先前生成的 AjaxFileBrowser.Controller 对象 (ITHit.oNS.Controller) 的一个实例
- 先前生成的 WebDavSession 对象 (ITHit.oNS.WebDavSession) 的实例
有了上述内容 - 我希望我可以简单地将这些实例重新连接到现在返回的 dom-node ('afb-content-div')。任何帮助深表感谢!