我正在使用ui-router 0.2.18
我网站的主要推荐管理网址如下所示http://example.com/partners/dashboard我希望将其更改为http://example.com/partners/dashboard#referral-link(以引导相应的ui-router状态:referral-link
)。但似乎when
方法不起作用......
app.js
.config(['$stateProvider', '$urlRouterProvider',
function($stateProvider, $urlRouterProvider) {
// it does not work...
$urlRouterProvider.when('/partners/dashboard', '/partners/dashboard#/referral-link');
var referralLinkState = {
name: 'referral-link',
url: '/referral-link',
template: '<kr-partners-referral-link></kr-partners-referral-link>'
};
var myClientsState = {
name: 'my-clients',
url: '/my-clients',
template: '<kr-partners-my-clients></kr-partners-my-clients>'
};
// ...
$stateProvider.state(referralLinkState);
$stateProvider.state(myClientsState);
}]);
后来添加:伙计们,我认为您的.otherwise
方法对我不起作用。因为它会覆盖所有URL,但我只需要覆盖一个特定的URL。
答案 0 :(得分:0)
将.otherwise子句与字符串参数一起使用:
$urlRouterProvider.otherwise('/referral-link');
或者回调动态:
$urlRouterProvider.otherwise(function($injector) {
var $state = $injector.get("$state");
$state.go(..put state name here);
});
答案 1 :(得分:0)
答案在这里: https://stackoverflow.com/a/22569209/1056253
基本上我做了什么 - 在{partner} {/ 1}}中注入了$state
并将controller
方法调用为:go