Angularjs angular ui路由器无法创建动态命名视图

Angularjs angular ui路由器无法创建动态命名视图,angularjs,angular-ui-router,Angularjs,Angular Ui Router,我使用多视图的角度ui路由器 我有一个常数模块: angular.module('app.constants', []) .constant('constants', { parent1: "parent1", parent2: "parent2" }); 我的状态是这样的: .config(['$stateProvider', 'constants', function ($stateProvider, constants) { $stateProvider.st

我使用多视图的角度ui路由器

我有一个常数模块:

angular.module('app.constants', [])

.constant('constants', {
    parent1: "parent1",
    parent2: "parent2"
});
我的状态是这样的:

.config(['$stateProvider', 'constants', function ($stateProvider, constants) {

    $stateProvider.state(constants.parent1, {
        abstract: true,
        url: '/' + constants.parent1
    });

    $stateProvider.state(constants.parent1 + ".state1", {
        url: '/state1',
        views: {
            'cool-view@' + constants.parent1 + 'state1': {
                templateUrl: root + 'views/splashScreen/splash.html',
                controller: 'splashScreenCtrl'
            }
        }
    });

   $stateProvider.state(constants.parent2, {
        abstract: true,
        url: '/' + constants.parent2
    });

    $stateProvider.state(constants.parent2 + ".state1", {
        url: '/state1',
        views: {
            'cool-view@' + constants.parent2 + 'state1': {
                templateUrl: root + 'views/splashScreen/splash.html',
                controller: 'splashScreenCtrl'
            }
        }
    });

}]);
我有很多父抽象状态。 在子状态下,我有一个要触发的命名视图。 问题是我无法动态创建行:

'cool-view@' + constants.parent1 + 'state1'
它将与以下方面合作:

'cool-view@parent1.state1'
给我一个错误。如何在视图对象内动态创建字段名。
我之所以希望能够动态创建它,是因为我有一个常量模块,将来可能会更改它,我不想在视图中硬编码它。

jsidle解决这个问题,而不用考虑为什么要这样做:


正是我想要的。伟大的!
var constants = { parent2: "someThing" };
var root = "root";
var views = {};

views['cool-view@' + constants.parent2 + 'state1'] = {
    templateUrl: root + 'views/splashScreen/splash.html',
    controller: 'splashScreenCtrl'  
};

var state = {
    'url': '/state1',
    'views': views
};

console.debug(state);