angularJS:无法加载自定义服务?

时间:2016-09-18 02:50:10

标签: angularjs

我很难让我的自定义服务工作。

我收到错误:

Error: [$injector:unpr] Unknown provider: trucosProvider <- trucos

这是我的代码:

服务声明:

var trucos = angular.module('trucos', []);
trucos.factory('agregarSignoPorcentajeAFila', function(palabraClave,numeroDeColumnas) {
    //numeroDeColumnas=# de columnas a la derecha de palabraClave 
    //que queremos afectar          
    var celdaCreci = $("td").filter(function() {
        return $(this).text() == palabraClave;
    }).closest("td").nextAll().slice(0, numeroDeColumnas);

    for (var i=0; i<numeroDeColumnas; i++){
        $(celdaCreci[i]).html($(celdaCreci[i]).html().toString()+"%")
    }            
})

以下是我加载它的方式:

.controller('CM_ventasCombosDamaCtrl', function($scope, $state, cssInjector, $http, trucos) {

以下是我如何使用它:

trucos.agregarSignoPorcentajeAFila('CRECI', 4);

2 个答案:

答案 0 :(得分:0)

您必须将工厂而不是模块注入控制器,

controller('CM_ventasCombosDamaCtrl', function($scope, $state, cssInjector, $http, agregarSignoPorcentajeAFila) {
}

答案 1 :(得分:0)

试试这样:

var myApp = angular.module("app", []);

myApp.factory('MathService', function() {
    var factory = {};
    factory.multiply = function(a, b) {
        return a * b
    }
    return factory;
});

myApp.controller('CalcController', function($scope, MathService) {
    $scope.mult = function(a) {
        $scope.result = MathService.multiply(a,a);
    }
});