Angular状态提供程序抛出的问题无法解决状态错误

Angular State Provider throws cannot resolve State Error

本文关键字:状态 问题 解决 错误 程序 Angular      更新时间:2023-09-26

我是Angular的新手,我只是在一个使用状态引擎的现有应用程序上工作。我添加了一个新的状态

"app.maintenance.population.trial"

在现有模块中,如下所示:

var maintenancePopulationModule = angular.module('maintenance.population.module', ['fileUpload.module'])
.config([
    '$stateProvider', function ($stateProvider) {
        $stateProvider
            .state('app.maintenance.population',
            {
                url: '/population',
                templateUrl: '/app/maintenance/population/maintenance.population.view.html',
                controller: 'MaintenancePopulationController',
                authorize: true
            })
         .state('app.maintenance.population.trial',
                {
                    url: '/trial2',
                    templateUrl: '/app/maintenance/population/maintenance.population.view.html',
                    //controller: 'MaintenanceCodisController',
                    //authorize: true
                });
    }
]);

  • 正如我们所看到的,两个状态之间几乎没有任何区别。它使用相同的模板,并添加了额外的关键字'。试验结束后,它停止工作了。现在我做了一个不同的实验,这次我用一个类似的实验干预了另一个模块:
angular.module('maintenance.codis.module', [])
        .config([
            '$stateProvider', function($stateProvider) {
                $stateProvider
                    .state('app.maintenance.codis',
                    {
                        url: '/codis',
                        templateUrl: '/app/maintenance/codis/maintenance.codis.view.html',
                        controller: 'MaintenanceCodisController',
                        authorize: true
                    })
                .state('app.maintenance.codis.trial',
                    {
                        url: '/trial',
                        templateUrl: '/app/maintenance/codis/maintenance.codis.view.html',
                        //controller: 'MaintenanceCodisController',
                        //authorize: true
                    });
            }
        ]);
  • 这个有效。正如你所看到的,除了最后的。trial关键字之外,这两个状态之间没有太大的区别。不知道为什么Codis有效,但种群不起作用。什么好主意吗?

建议您查看一下嵌套状态

清楚地看到app.maintenance。codis是你的父状态,而app.maintenance.codis。审判是你孩子

你的审判路线是这样的

...../codis/trial

这意味着你的trial状态是codis的子状态。另外,为了检查population trial2是否工作,请尝试访问此路由

......./population/trial2

必须按预期工作。

最后,

让你的代码工作。确保在Codis html模板中必须有ui-view,并且您的两个状态都引用相同的templateUrl,请相应地修改它。

这个答案有帮助吗?