Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当我';你有所有实例化的部分吗?_Javascript_Ajax_Angularjs_Ithit Ajax File Browser - Fatal编程技术网

Javascript 当我';你有所有实例化的部分吗?

Javascript 当我';你有所有实例化的部分吗?,javascript,ajax,angularjs,ithit-ajax-file-browser,Javascript,Ajax,Angularjs,Ithit Ajax File Browser,出于各种原因,我将不深入讨论,我已成功地将iITAjax文件浏览器包装在Angular控制器中,该控制器本身加载并包装在Angular UI路由器UI视图中 所有的设置都是通过之前的服务调用配置的(以支持具有移动URL的云环境),我甚至解决了所有CORS(跨源请求)问题,我们在DAV服务器上连接了一个自定义Oath2实现。所有这些都成功地将iITT文件浏览器作为我们内容浏览实现的核心 现在,当我浏览某些区域时,Angular ui路由器调整Url,视图响应,角度控制器响应视图更改,并且(不重新加

出于各种原因,我将不深入讨论,我已成功地将iITAjax文件浏览器包装在Angular控制器中,该控制器本身加载并包装在Angular UI路由器UI视图中

所有的设置都是通过之前的服务调用配置的(以支持具有移动URL的云环境),我甚至解决了所有CORS(跨源请求)问题,我们在DAV服务器上连接了一个自定义Oath2实现。所有这些都成功地将iITT文件浏览器作为我们内容浏览实现的核心

现在,当我浏览某些区域时,Angular ui路由器调整Url,视图响应,角度控制器响应视图更改,并且(不重新加载视图)使用可用的IT Hit命令(例如SetSelectedFolderAsync)重新获取适当的DAV Url

这是我(希望是简单的)挑战:当我导航到某些区域时,Angular UI router只需用新内容重新加载包含的UI视图,但当我返回时,ITIT Ajax文件浏览器不会重新绘制

以下是我的挑战的一些指导原则(如果你提供了我可以使用的东西,请忽略):

  • 我宁愿避免“隐藏”ITIT容器(因为 这是无关紧要的,我不想让它一直保持下去 视图中的日期状态更改。这些更改会影响DAV路径)。我也不想担心不必要的网络流量。 我真的很想让AngularUI路由器用 浏览器所在的ui视图
  • 我想留下来 需要进行的任何调用都可以调用角度控制器 (它管理身份验证、路径解析和上下文 设置配置-随用户导航而更改)
  • ITIT解决方案产生的一切(以及最重要的事情)都是 存储在单例('DavBrowserService')中—因此当我返回到 在文件浏览器视图中,我存储了从初始 实例化包括:
    • 它的对象的实例
    • 生成的ITIT.Loader实例
    • 以前生成的AjaxFileBrowser.Controller对象(ITIT.oNS.Controller)的实例
    • 以前生成的WebDavSession对象的实例(ITHit.oNS.WebDavSession)
  • 有了以上内容,我希望可以简单地将这些实例重新连接到现在返回的dom节点('afb-content-div')。 非常感谢您的帮助

    更新:下面的“答案”虽然看起来很实用,但实际上并不实用。但是,我已经解决了这个问题,在用户导航离开时抓取DOM实例并将其存储在内存中,然后在用户导航回适当的区域后重新连接它。通过这种方式,所有的iIt魔法仍然绑定到正确的DOM节点,我不必担心部分重新实例化的奇怪。现在看起来很稳定


    我想出来了!!!如果我通过调用以下命令重新实例化控制器:

       var controllerInstance = new ITHit.oNS.Controller( originalSettingsObj );
    
    一切都神奇地重新布线!我对上面的代码进行了包装,检测了“afb content div”htmldom节点是否有子节点

    在深入研究代码之后,看起来这是作为ITITLoader.oninit回调(来自AjaxFileBrowserLoader实例)的参数返回给的参数对象

    谢谢你的演奏

    更新:下面的“答案”虽然看起来很实用,但事实并非如此。但是,我已经解决了这个问题,在用户导航离开时抓取DOM实例并将其存储在内存中,然后在用户导航回适当的区域后重新连接它。通过这种方式,所有的iIt魔法仍然绑定到正确的DOM节点,我不必担心部分重新实例化的奇怪。现在看起来很稳定


    我想出来了!!!如果我通过调用以下命令重新实例化控制器:

       var controllerInstance = new ITHit.oNS.Controller( originalSettingsObj );
    
    一切都神奇地重新布线!我对上面的代码进行了包装,检测了“afb content div”htmldom节点是否有子节点

    在深入研究代码之后,看起来这是作为ITITLoader.oninit回调(来自AjaxFileBrowserLoader实例)的参数返回给的参数对象

    谢谢你的演奏