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

时间:2015-05-26 10:21:32

标签: javascript angularjs angular-ui-router angular-translate

有没有办法,如何在translateProvider加载翻译后启动ui-router或route-segment?

我正在使用pascal prechts翻译过滤器和绑定一次{{::}}表示法。在localhost上它工作得很好,但是当我在远程服务器上测试它时,绑定一次会比字符串翻译更快地删除观察者。

所以我想知道是否有一些方法可以延迟路由。

1 个答案:

答案 0 :(得分:2)

尝试检查本机内置功能:

$urlRouterProvider.deferIntercept(defer)

  

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

     

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

检查一些类似的问题:

在其中一个链接observe this plunker中,此功能的使用方式如下:

.config() 阶段停止并等待

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

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

稍后在 .run() 阶段转动网址

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

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

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

      });