如何使用 Typescript 将 ui-router stateProvider 配置添加到我的应用程序?

2023-12-24

之前,当不使用 Typescript 时,我添加了我的 ui-router 状态信息,如下所示:

app.config([
    '$httpProvider',
    '$locationProvider',
    '$sceProvider',
    '$stateProvider',
    appConfig
]);

function appConfig(
    $httpProvider, 
    $locationProvider,
    $sceProvider,
    $stateProvider
    ) {

    $locationProvider.html5Mode(true);
    $sceProvider.enabled(false);

    var admin = {
        name: 'admin',
        url: '/admin',
        views: {
...
        }
    };

现在我正在使用 Typescript,我认为我应该将其编码到一个类中。但是我如何将类添加到我的应用程序中?我已经有了添加控制器的代码:

var app = angular.module('app',
    [
    ])
    .controller('appController', AppController);

我尝试将状态信息添加为 .config,但似乎只接受函数作为参数。

有人可以告诉我如何将 ui-router 的状态信息添加到我的应用程序中吗?


这就是我定义的方式ui-router状态 .. 在打字稿中(因为其他部分都在 TS 中...):

module MyModule
{
    export class MyConfig
    {
        constructor(private $stateProvider: ng.ui.IStateProvider
            , private $urlRouterProvider: ng.ui.IUrlRouterProvider   
            ... // other dependencies)
        {
            this.init();
        }
        private init(): void
        {
            this.$stateProvider.state("App", <ng.ui.IState>
            {
                abstract: true,
                .... // more settings
            });

            // more states
        }
    }
}

angular.module('MyModule')
  .config(
    ["$stateProvider", "$urlRouterProvider", // more dependencies
        ($stateProvider, $urlRouterProvider) =>
        {
            return new MyModule.MyConfig($stateProvider, $urlRouterProvider);
        }
    ]);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Typescript 将 ui-router stateProvider 配置添加到我的应用程序? 的相关文章

随机推荐