解决ui-router和AngularJs 1.6+的问题

时间:2019-05-10 17:59:47

标签: angularjs angular-ui-router

我将AngularJs应用更新到v1.7.8,并更新到最新的ui-router版本1.0+。关于解决问题,有些事情不再起作用。

除非特别需要,否则我并不急于更改我的内容以使用此处显示的.component内容。这是我的代码:

路由器:

  angular
    .module('admin')
      .config(routeConfigFn);


    routeConfigFn.$inject = ['$stateProvider', 'termParameters', '$compileProvider' ];

    function routeConfigFn($stateProvider, termParameters, $compileProvider) {

        $stateProvider

            .state('admin', {
                url: '/list/:dataset',
                views: {
                    'mainContent' : {
                        templateUrl: '/app/admin/index.tpl.html',
                        controller: 'admin.index.controller',
                        controllerAs: 'vm',
                    },
                    'sidebarRight': {
                        templateUrl: '/app/admin/sidebarRight.tpl.html',
                        controller: 'admin.widget.controller',
                        controllerAs: 'vm',

                        resolve: {
                            myResolver: function() {
                                return 'just testing';
                            }
                        }

                    }
                }
            })
    }

在我的控制器中:

angular
    .module('admin')
        .controller('admin.widget.controller', adminWidgetControllerFn);

    adminWidgetControllerFn.$inject = [
        '$stateParams',
        'termParameters',
        '$state',
        'myResolver'
    ];

    function adminWidgetControllerFn($stateParams, termParameters, $state, myResolver) {


        var vm = this;

        console.log(myResolver);
    }

至少在我所知的范围内,这对路由器的解析功能都没有真正的保证。上面的示例抛出了一个

Unknown provider: myResolverProvider <- myResolver <- admin.widget.controller

例外。有人知道如何解决这个问题吗?非常感谢!

0 个答案:

没有答案