AngularJS状态下一个按钮

时间:2015-02-06 13:04:22

标签: angularjs

我正在尝试使用AngularJS状态创建嵌套表单中的下一个按钮。这是我的设置:

.config(function($stateProvider, $urlRouterProvider) {

$stateProvider
    .state('step', {
        url: '/step',
        templateUrl: 'form.html',
        count: '0',
        controller: 'formController'
    })
    .state('step.1', {
        url: '/1',
        count: '1',
        templateUrl: 'form-1.html'
    })
    .state('step.2', {
        url: '/2',
        count: '2',
        templateUrl: 'form-2.html'
    })
    .state('step.3', {
        url: '/3',
        count: '3',
        templateUrl: 'form-3.html'
    })
    .state('step.4', {
        url: '/4',
        count: '4',
        templateUrl: 'form-4.html'
    });
    $urlRouterProvider.otherwise('/step/1');
})

要在我使用ng-click功能的状态之间导航:

$scope.nextStep = $state.current.count;

$scope.nextStepCount = function() {
    $scope.count = $scope.nextStep + 1;
    $state.go('step.' + $scope.count);
}

当我点击下一个按钮时,它会改变"步骤1"到"步骤11"。

2 个答案:

答案 0 :(得分:0)

您可以替换:

$scope.count = $scope.nextStep + 1;

使用:

$scope.count = parseInt($scope.nextStep) + 1;

Javascript将nextStep视为字符串,因此在该字符串的末尾添加1。

答案 1 :(得分:0)

感谢JMK,这看起来像一个魅力:

$scope.nextStepCount = function() {
    $scope.count = parseInt($state.current.count) + 1;
    $state.go('step.' + $scope.count);
}