小编Nom*_*aki的帖子

AngularJS - ui.router - 如何在动态添加动态后重定向到所需状态?

我正在尝试根据该问题的答案将状态动态添加到我的应用程序: AngularJS - UI-router - 如何配置动态视图

app.run(['$q', '$rootScope', '$state', '$http',
  function ($q, $rootScope, $state, $http) 
  {
    $http.get("myJson.json")
    .success(function(data)
    {
      angular.forEach(data, function (value, key) 
      { 
          var state = {
            "url": value.url,
            "parent" : value.parent,
            "abstract": value.abstract,
            "views": {}
          };

          // here we configure the views
          angular.forEach(value.views, function (view) 
          {
            state.views[view.name] = {
              templateUrl : view.templateUrl,
            };
          });

          $stateProviderRef.state(value.name, state);
      });
      $state.go("home");    
    });
}]);
Run Code Online (Sandbox Code Playgroud)

然而,我被困在接受答案的最后一个评论中的那个人,状态被创建,但我需要将用户重定向到正确的状态,而不是简单地将它们重定向到家,我无法得到$state.current.

现在我正在解析所有可用的状态,并尝试找到与当前网址的匹配,如果找到匹配,我将它们重定向到它.我看到一个我不记得的人,就这样做.

除抽象状态外,它工作正常.这是代码:

  var matchedState = null,
    matchedStateParams = null;

  angular.forEach($state.get(), function(state) {
    var url = …
Run Code Online (Sandbox Code Playgroud)

javascript custom-routes angularjs angular-ui-router

3
推荐指数
1
解决办法
4591
查看次数