首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用存储路由更改AngularJS位置

使用存储路由更改AngularJS位置
EN

Stack Overflow用户
提问于 2013-08-10 16:18:31
回答 1查看 258关注 0票数 1

我试图将$routeChangeStart的“下一个路由”参数存储在服务中,并从另一个地方用“下一个路由”调用$location.path()。为了澄清这里的一些代码:

代码语言:javascript
运行
复制
$scope.$on('$routeChangeStart', function (event, next, current) {
    service.nextRoute = next;
    $rootScope.$broadcast('event:someEvent');
});

...now我捕捉到事件并尝试执行类似的操作(假设所使用的服务都已正确注入并可用):

代码语言:javascript
运行
复制
$rootScope.$on('event:someEvent', function() {
    //do some stuff
    $location.path(service.nextRoute);
});

我得到的是调用TypeError: Object #<Object> has no method 'charAt'时出现的一个$locaton.path(service.nextRoute);错误。这里还有一个类似问题的post在StackOverflow上,但是建议的解决方案似乎不起作用吗?那我做错什么了?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-10 16:41:02

path()接受一个字符串,其中nextroute {}对象。听起来,您实际上想要捕获$locationChangeStart,这将使您能够访问路径。

代码语言:javascript
运行
复制
scope.$on('$locationChangeStart', function(event, newVal, oldVal) {
});

根据这个answer,它是一个无文档的特性。

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

https://stackoverflow.com/questions/18163862

复制
相关文章

相似问题

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