【发布时间】:2016-09-20 12:04:55
【问题描述】:
我有一个 AngularJS 项目,我正在使用 md-steppers 的修改版本,其有趣的功能归结为:
var enableNextStep = function () {
//do not exceed into max step
if ($scope.selectedStep >= $scope.maxStep) {
return;
}
//do not increment $scope.stepProgress when submitting from previously completed step
if ($scope.selectedStep === $scope.stepProgress - 1) {
$scope.stepProgress = $scope.stepProgress + 1;
}
};
var completeCurrentStep = function (CurrentStep) {
$scope.stepData[CurrentStep].completed = true;
};
$scope.moveToNextStep = function moveToNextStep() {
if ($scope.selectedStep < $scope.maxStep) {
enableNextStep();
$scope.selectedStep = $scope.selectedStep + 1;
completeCurrentStep($scope.selectedStep - 1); //Complete After changing Step
}
};
$scope.moveToPreviousStep = function moveToPreviousStep() {
if ($scope.selectedStep > 0) {
$scope.selectedStep = $scope.selectedStep - 1;
}
};
问题是我想在两个不同的控制器中使用这四个函数(以免重复它们),它们具有不同的stepProgress、selectedStep 和maxStep 值。我找不到使用服务的方法,但我可能只是对 AngularJS 的工作方式感到困惑,因为我更习惯于 Python。
谢谢。
【问题讨论】:
标签: javascript angularjs angularjs-scope angular-services angular-controller