angularJS:无法加载自定义服务?
我很难让自定义服务工作。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);
你必须注入工厂不是模块控制器,
controller('CM_ventasCombosDamaCtrl', function($scope, $state, cssInjector, $http, agregarSignoPorcentajeAFila) {
}
当我想用它时,我会说agregarSignoPorcentajeAFila('CRECI',4)还是trucos.agregarSignoPorcentajeAFila('CRECI',4)? – quelquecosa
按照你建议的方式注入 – quelquecosa
@quelquecosa你已经排序了吗? – Sajeetharan
尝试这样的:
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);
}
});
你必须使用厂家名称,而不是模块名状的:* * .controller('CM_ventasCombosDamaCtrl',函数($ scope,$ state,cssInjector,$ http,agregarSignoPorcentajeAFila)** – NNR
好的,我已经完成了,仍然没有运气。 当我想使用它时,我会说agregarSignoPorcentajeAFila('CRECI',4)还是trucos.agregarSignoPorcentajeAFila('CRECI',4)? – quelquecosa