2015-04-10 2 views
1

Я экспериментировал с несколькими способами создания этой формы. Скотч, похоже, имеет отличный учебник с вложенными представлениями.Multi-View Form AngularJS reroute

Это часть файла 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'; 
     } 
    }; 

}); 

Как получить кнопку отправки, чтобы перенаправить результат. Html? (я бы не удивился, если бы мой JS был меньше, чем первозданный) любая помощь была бы потрясающей.

ответ

0

Две вещи, которые необходимо выполнить. Во-первых, если вы изучите свой объект $scope.formData, вы увидите, что он имеет два свойства для phone и type, поэтому способ, которым вы проверяли это в блоке 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