首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >$state.go未更改URL

$state.go未更改URL
EN

Stack Overflow用户
提问于 2015-12-18 00:41:54
回答 1查看 1.6K关注 0票数 2

单击搜索按钮后,我正在尝试更改状态。

代码语言:javascript
复制
$state.go("abc", {});

问题是,状态更改成功,但浏览器URL没有更新。进一步调试后,我发现$stateChangeStart, $stateChangeSuccess and $locationChangeStart被正确触发,但$locationChangeSuccess没有被触发。在我的状态为abc的控制器中,我有一个服务器端请求来获取一些数据。

代码语言:javascript
复制
PlaceService.getDetails.query({}, {}).$promise.then(function(result){
    //do something
});

有趣的情况是,如果我注释掉这个请求,URL将被正确更新。如果我允许将此请求发送到服务器,URL将不会更新。奇怪的行为,但仍在发生。

谁能说出可能的原因以及如何解决这个问题?

**已更新

仅给出一些粗略的概念,我的配置函数看起来有点像这样。

代码语言:javascript
复制
app.config(function($stateProvider, $ocLazyLoadProvider) {
   var abc = {
        name : 'abc',
        url : '/abc',
        views : {
            'container@' : {
                templateUrl : 'javascript/templates/abc.html',
                controller : 'AbcController'
            }
        },
        resolve : {
            loadMyService: ['$ocLazyLoad', function($ocLazyLoad) {
                return $ocLazyLoad.load(
                  {
                    name: 'tablet',
                    files: ['javascript/services/placeService.js']
                  });
                }],
            loadMyCtrl: ['$ocLazyLoad', function($ocLazyLoad) {
              return $ocLazyLoad.load(
                {
                  name: 'tablet',
                  files: ['javascript/controllers/abcController.js']
                });
            }]
        }        
    };

    $stateProvider.state(abc);
});
EN

回答 1

Stack Overflow用户

发布于 2015-12-18 15:47:53

使用$state.go("abc");而不是$state.go("abc", {});。在调用$state.go()时,应该只指定状态的名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34339877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档