多视图表单AngularJS重新路由

时间:2015-04-10 20:36:53

标签: javascript angularjs angular-ui-router

我一直在试验一些创建此表单的方法。 苏格兰似乎有一个很好的嵌套视图教程。

这是我假设出现问题的JS文件的一部分。 我在http://plnkr.co/edit/nNTEI4tBw0XFana1nKIS?p=preview创建了一个演示。

.controller('formController', function($scope) {

    // we will store all of our form data in this object
    $scope.formData = {};

    // function to process the form
    $scope.processForm = function() {
        if ($scope.formData = '"phone":"iphone' &&'"type":"xbox"'){
            parent.location='results';
        }
    };

});

如何让提交按钮重新路由到results.html? (如果我的JS不够原始,我不会感到惊讶) 任何帮助都是极好的。

1 个答案:

答案 0 :(得分:0)

需要做的两件事。首先,如果您检查了$scope.formData对象,则可以看到它有phonetype两个属性,因此您在if块中检查它的方式不对。以下是控制器更改:

.controller('formController', function($scope, $location) {

    // we will store all of our form data in this object
    $scope.formData = {};

    // function to process the form
    $scope.processForm = function() {

        if ($scope.formData.phone == 'iphone' && $scope.formData.type == 'xbox'){

            $location.path('/results');
        }
    };

});

接下来,必须为results路由配置路由。只需在路由配置中添加它:

.state('results', {
    url: '/results',
    templateUrl: 'results.html'
});

这是一个分叉的Plunker:http://plnkr.co/edit/GUpNMRPU0YqfOcveB0nP?p=preview