У меня есть проект AngularJS, и я использую модифицированную версию MD-степпер, чья интересные функции сводится к следующему:контроллер независимых функций шаговых
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.
Спасибо.
Привет, спасибо за ваш ответ. Не могли бы вы просветить меня с целью этих тайм-аутов и «(сделано)»? –
его задокументировано в комментариях кода –