2014-08-31 56 views
2

我想有一个变量,像这样我的路线:ui-router:有没有办法在url的开头有变量?

$stateProvider 
    .state('edit', { 
     url: ':organization/edit', 
     templateUrl: 'partials/edit.html', 
     controller: 'editController', 
     controllerAs: 'editController' 
    }) 

,并且具有同时工作作为使用

$urlRouterProvider.otherwise('index'); 

这可能吗?因为我发现当我尝试去其他规则时,我会尝试去

myOrganization/edit 

然后我被重定向到索引。我在这里错过了什么?

回答

1

这应该是可能的,如here所示。关键是要界定指标作为第一状态(当然,不是作为第一,但在编辑之前)

.state('index',{ 
    url:'/index', 
    template:'<div>index</div>', 
    }) 
    .state('edit', { 
    url: '/:organization/edit', 
    ... 
    }) 

ui-router将通过国家评估URL状态,因为他们在那里定义。第一场比赛将决定。因此,如果指数,在这种情况下被发现,指数状态下选择......

检查它here

我的(私人)的建议是:不要订单数。尝试将状态定义为真正简单的标识。更重要的是,我的经验是,如果用户使用url,他们复制/粘贴...所以,它可能会更健谈...

+0

谢谢!我得到了它的工作。 – L42 2014-08-31 14:33:44

+0

很高兴看到...如果可以,请尝试考虑我的建议......只是建议;) – 2014-08-31 14:34:21

相关问题