2016-09-18 71 views
0

我很難讓自定義服務工作。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); 
+0

你必須使用廠家名稱,而不是模塊名狀的:* * .controller('CM_ventasCombosDamaCtrl',函數($ scope,$ state,cssInjector,$ http,agregarSignoPorcentajeAFila)** – NNR

+0

好的,我已經完成了,仍然沒有運氣。 當我想使用它時,我會說agregarSignoPorcentajeAFila('CRECI',4)還是trucos.agregarSignoPorcentajeAFila('CRECI',4)? – quelquecosa

回答

0

你必須注入工廠不是模塊控制器,

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

當我想用它時,我會說agregarSignoPorcentajeAFila('CRECI',4)還是trucos.agregarSignoPorcentajeAFila('CRECI',4)? – quelquecosa

+0

按照你建議的方式注入 – quelquecosa

+0

@quelquecosa你已經排序了嗎? – Sajeetharan

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); 
    } 
}); 
相關問題