这是我想要做的事情
(function(){angular.module('app').factory("loadDataForStep",ls);
ls.$inject = ['$scope','stepIndex']
function ls ($scope, stepIndex) {
if ($routeParams.code != undefined) {
$scope.code = $routeParams.code;
$scope.retrieveData($routeParams.code);
}
$rootScope.stepIndex = stepIndex-1;
$rootScope.currentStep = stepIndex;
$rootScope.resultsLoaded = false;
if (!fieldDefinitionsLoaded) {
loadAllElementsDefinition();
loadStepsWithOverrides(stepIndex, loadStep);
} else {
loadStep(stepIndex);
}
}
})();
我知道这里有很多问题,但是当下的问题(问题)是我如何获得$ scope注入并将步骤索引作为参数传递?如您所见, $ scope需要来自angular,但我需要提供stepIndex。 任何帮助表示赞赏。
答案 0 :(得分:1)
服务没有范围所以不能在工厂注入范围。
Scope是控制器的一个实例。
如果您想在工厂中处理范围对象,则在工厂中声明变量,然后将工厂与范围变量绑定。
然后尝试像这样
var app = angular.module("app",[]);
app.factory("mySvc",function(){
return {
dataList : []
}
});
app.controller("myCtrl",function($scope,mySvc){
$scope.model=mySvc;
console.log($scope.model);
});