У меня есть служба Utils
, которая очень тяжелая. Я хочу использовать некоторые функции, определенные в нем, для конкретного действия пользователя. Поскольку эта служба тяжелая, я хочу создать ее лениво (по действию пользователя).
Как мне этого добиться?
Сервис
module.service('Utils', function (dep1, dep2) {
this.method1 = function () {
// do something
}
// other methods
});
Контроллер
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.
}
});
Разметка
<div data-ng-controller="AppCtrl">
<button data-ng-click="processUserAction()"> Click Me </button>
</div>