пытаясь перейти от одной формы к другой в angularjs

0

Я сам создаю свой проект, чтобы практиковать то, что я узнал о стеке MEAN. В проекте я хочу, чтобы пользователь заполнил форму и после того, как она была сохранена в базе данных, система будет использовать вторую форму, чтобы заполнить ее и т.д. Я являюсь angularjs для переднего конца, и в нем я использую ui.route. По какой-то причине моя программа не переходит ко второй программе. Я уже читал о других людях с одинаковой проблемой, и я не могу найти, что не так с моим алгоритмом. Каждая форма работает сама по себе или когда я делаю вызов с панели инструментов.

Frontend.js

    angular
  .module('authApp',['auth0', 'angular-storage', 'angular-jwt', 'ngMaterial', 'ui.router', 
          'AdminUser', 'appProfile', 'appToolbar', 'Mod-Company', 'ModShow'])

  .config(function($provide, authProvider, $urlRouterProvider, $stateProvider, $httpProvider, jwtInterceptorProvider,$mdThemingProvider){

/*    $mdThemingProvider.theme('docs-dark'); */
    $mdThemingProvider.theme('default')
       .dark();

    $mdThemingProvider.alwaysWatchTheme(true);

   authProvider.init({
    domain: 'workflowjobs.auth0.com',
    clientID: 'SjzgRRh3w4ZEFRGLdglpJYvCPCkM189w'
   }); 

   jwtInterceptorProvider.tokenGetter = function(store) {
      return store.get('id_token');
   }

   $urlRouterProvider.otherwise('/home');

   $stateProvider
     .state('home', {
        url: '/home',
        templateUrl: 'components/home/home.html'
     })
     .state('company', {
        url: '/company',
        templateUrl: 'components/company/company.html'
     })
     .state('singlecompany', {
        url: '/singlecompany',
        templateUrl: 'components/singlecompany/singlecompany.html'
     })
     .state('show', {
        url: '/show',
        templateUrl: 'components/show/show-form.html'
     })
     .state('ticket', {
        url: '/ticket',
        templateUrl: 'components/ticket/ticket.html'
     })          
     .state('useradmin', {
        url: '/useradmin',
        templateUrl: 'components/useradmin/useradmin.html'
     })
     .state('user', {
        url: '/user',
        templateUrl: 'components/user/user.html'
     })     
     .state('profile', {
        url: '/profile', 
        templateUrl: 'components/profile/profile.html',
        controller: 'profileController',
        controllerAs: 'user'    
     });

Из формы я использую контроллер, который мне нужен, отображает форму, которую должен заполнить пользователь, а затем я вызываю addcompany() после того, как пользователь нажимает кнопку, чтобы сохранить документ в базе данных mongodb.

<section class="table" ng-controller="CompanyCtrl">
   <form name="CompanyForm"> 
     ...  
    <input class="form-control" ng-model="company.name" size="40">
     ...
    <p><md-button class="md-raised md-primary md-hue-1" ng-click="addcompany()" aria-label="next">

Теперь в этом коде есть проблема. $ location.path('/adminuser') не работает:

    var app = angular.module('Mod-Company', []);

app.controller('CompanyCtrl', ['$scope', '$http', 
                            function($scope,$http){

               var refresh = function() {
                             $http.get('http://localhost:3001/api/company').success(function(response){

                                               $scope.companylist = response; 
                                               $scope.company = "";    
                                               });
                                         };

                refresh();  



                $scope.addcompany = function(){
                       $http.post('http://localhost:3001/api/company', $scope.company).success(function(response) {

                                        refresh();   

                                    $location.path('/useradmin');   

                                         });
                                     $location.path('/useradmin');
                         };
  • 0
    Выдает какую-то конкретную ошибку в консоли из Chrome, IE .. и так далее? Кроме того, если вы открываете инструменты разработчика и помещаете точку отладки в вашу addcompany , это называется? Я думаю, с этим будет легче найти проблему
  • 0
    Нет ошибки
Показать ещё 1 комментарий
Теги:
forms

1 ответ

0

Вместо использования $location.path('/useradmin'); попробуйте $state.go('useradmin'); ,

Если он все еще не работает, вам будет легче помочь, если вы можете поделиться своим кодом на https://jsbin.com или https://plnkr.co

  • 0
    Я пытался, и это не сработало
  • 0
    Спасибо за помощь Эвертон.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню