相关疑难解决方法(0)

如何动态实例化一个服务?

我有一项Utils非常繁重的服务。我想在特定用户操作上使用其中定义的一些功能。由于这项服务很重,我想懒惰地实例化它(根据用户操作)。

我如何实现这一目标?

服务

module.service('Utils', function (dep1, dep2) {
   this.method1 = function () {
      // do something
   }
   // other methods
});
Run Code Online (Sandbox Code Playgroud)

控制器

module.controller('AppCtrl', function ($scope) {
    // I don't want to inject Utils as a dependency.

    $scope.processUserAction = function () {
       // If the service is not instantiated 
       // instantiate it and trigger the methods defined in it. 
    }
});
Run Code Online (Sandbox Code Playgroud)

标记

<div data-ng-controller="AppCtrl">
    <button data-ng-click="processUserAction()"> Click Me </button>
</div>
Run Code Online (Sandbox Code Playgroud)

dependency-injection objectinstantiation angularjs angular-services

4
推荐指数
1
解决办法
8277
查看次数