一尘不染

加载所有翻译后,启动Angular.js route-segment或ui-router

angularjs

有什么方法,在translateProvider加载其转换后如何启动ui-router或route-segment?

我正在使用pascalprechts翻译过滤器和一次绑定{{::}}表示法。在localhost上,它运行良好,但是当我在远程服务器上对其进行测试时,绑定一次将删除监视程序,而不是翻译字符串。

所以我想知道是否有某种方法可以稍微延迟路由。


阅读 186

收藏
2020-07-04

共1个答案

一尘不染

尝试检查本机内置功能:

[$ urlRouterProvider.deferIntercept(defer)](http://%20angular-

ui.github.io/ui-
router/site/#/api/ui.router.router.$urlRouterProvider#methods_deferintercept)

禁用(或启用)延迟位置更改拦截。

如果您希望自定义同步URL的行为(例如,如果您希望推迟转换但保留当前URL),请在配置时调用此方法。然后,在运行时,$urlRouter.listen()在配置了自己的$locationChangeSuccess事件处理程序之后调用。

在这些链接之一中,观察此plunker,该功能的用法如下:

停止并等待 .config() 阶段:

.config(['$urlRouterProvider' ...,
    function($urlRouterProvider, ...) {

      // defer execution in config phase
      $urlRouterProvider.deferIntercept();
      ...

稍后在 .run() 阶段中打开url处理

.run(['$urlRouter' ...,
  function($urlRouter...) {
    ...
    $http
      .get("modules.json")
      .success(function(data) {

        // do some stuff
        // re-enable UI-Router url stuff

        $urlRouter.sync();
        $urlRouter.listen();

      });
2020-07-04