0

我有以下状态代码:

.config(function ($stateProvider, $urlRouterProvider, CONSTANTS) {
    $urlRouterProvider.otherwise('/cyo');

    $stateProvider.state('pri', {
        url: '/pri',
        controller: 'priController',
        templateUrl: CONSTANTS.PRI_TEMPLATES.PRI_TEMPLATE_URL,
        redirectTo: 'pri.size'
    }).state('rec', {
        url: '/rec',
        controller: 'recController',
        controllerAs: 'recCtrl',
        templateUrl: CONSTANTS.REC_TEMPLATES.REC_TEMPLATE_URL
    })
 });

正在生成的 URL 是http://adc.com/REC/1440/#

1440 是一个根据产品 Cat 更改的 ID。模板未使用此 url 加载。但只要我在当前网址后添加“/rec/”,模板就会加载 - http://adc.com/REC/1440/#/rec/页面加载正确

我无法理解如何解决这个问题。

阿尤什

4

1 回答 1

2

您应该在定义状态时定义状态参数。

尝试这个:

.state('rec', {
    url: '/rec/:id',
    params: {id: 'defaultValue'},  // optional
    controller: 'recController',
    controllerAs: 'recCtrl',
    templateUrl: CONSTANTS.REC_TEMPLATES.REC_TEMPLATE_URL
})

和html代码:

<a ui-sref='rec({id: 123})'>Go to rec</a>
于 2015-12-25T11:38:44.987 回答