我正在使用UI路由器,我想让我的路由有一个基础,即用户slug。例如,名为John Doe的用户将拥有一个slug john-doe,并在URL中显示为/@john-doe
。
我试图将user
状态设置为所有其他状态的基础,但我似乎无法找到方法。
我希望这样,一旦用户登录,他/她就会被重定向到/@slug/home
,之后的每个状态网址都将以/@slug
开头,因此配置文件状态(用户。个人资料)应该有网址/@slug/profile
。
我尝试通过在我的登录功能中使用$state.go('user', {'slug' : $rootScope.currentUser.slug');
来实现它并且它可以工作,但是我必须将类似的内容设置为应用程序上的每个链接,所以我知道必须有更好的方法来执行此操作..加上那不会很好,因为如果在click事件上添加了slug,那么一旦页面被刷新或者那个参数消失了,这是不理想的,因为它只是留下一个{{ 1}} slug缺失。
这是我的/@/profile
:
app.js
答案 0 :(得分:0)
您是否尝试将所有子状态的parent
属性设置为“user”?或者,您可以将您的孩子命名为“user.signup”,“user.login”等。