为了账号安全,请及时绑定邮箱和手机立即绑定

AngularJS / Dependency Injection-如何在依赖提供程序数组中传递简单

AngularJS / Dependency Injection-如何在依赖提供程序数组中传递简单

森林海 2021-04-16 18:11:53
我想在下面概括我的状态代码,以传入一个字符串作为装入的参数,该参数将称为模块,然后在装入调用中对其进行解析以进行延迟装入。简单地添加一个字符串将出错,因为Angular认为它是提供者,并触发了未知的提供者异常。我怎样才能实现这个目标?function load ($ocLazyLoad, $q, $stateParams, module){    var deferred = $q.defer();    try{        $ocLazyLoad.load(module).then(function(){            deferred.resolve();        });    }    catch (ex){        deferred.reject(ex);    }    return deferred.promise;} $stateProvider    .state('action', {        name: 'action',        url: "/actionitems",        resolve: {               loadDependencies: ['$ocLazyLoad', '$q', '$stateParams', load]        },        templateUrl: '/app/tool/action/ActionItems.html'  });
查看完整描述

1 回答

?
慕莱坞森

TA贡献1810条经验 获得超4个赞

您需要创建一个constant提供程序。您可以执行以下操作:


angular.module('my-module').constant('myConstant', 'my-value');

然后在您的状态提供者中:


$stateProvider

    .state('action', {

        name: 'action',

        url: "/actionitems",

        resolve: {

               loadDependencies: ['$ocLazyLoad', '$q', '$stateParams', 'myConstant', load]

        },

        templateUrl: '/app/tool/action/ActionItems.html'

  });


function load ($ocLazyLoad, $q, $stateParams, myConstant, module){

  // myConstant has the value 'my-value'

  ...

}


查看完整回答
反对 回复 2021-04-22
  • 1 回答
  • 0 关注
  • 137 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信