无法让第二个控制器在Angular SPA上工作

问题描述:

我有两页 - 一个signup pagelogin page。我现在想要将这两个表格整合到我的home page上。我在我的HomepageModule.js中添加了对两个控制器的引用,但注册功能不起作用。这里是我的文件,我做错了什么?无法让第二个控制器在Angular SPA上工作

Homepage.ejs:

<body ng-app="HomepageModule" ng-cloak> 
    <form ng-submit="submitLoginForm()" ng-controller="HomepageController"> 
     <!-- Some Inputs --> 
    </form> 
    <div ng-controller="SignupController" 
    <form ng-submit="submitSignupForm()" id="sign-up-form" class="form-signin" name="signup"> 
     <!-- Some Inputs --> 
    </form> 
    </div> 
</body> 

HomepageModule:

(function() { 
    'use strict'; 
    angular.module('HomepageModule', ['toastr', 'compareTo','ngMaterial']) 
    .controller('HomepageController', function($scope) { 
     $scope.isOpen = false; 
     $scope.demo = { 
     isOpen: false, 
     count: 0, 
     selectedDirection: 'left' 
     }; 
    }) 
    .controller('SignupController', function($scope) { 
     $scope.isOpen = false; 
     $scope.demo = { 
     isOpen: false, 
     count: 0, 
     selectedDirection: 'left' 
     }; 
    }); 
})(); 

HomepageController.js:

angular.module('HomepageModule').controller('HomepageController', ['$scope', '$http', 'toastr', function($scope, $http, toastr){ 

    $scope.loginForm = { 
     loading: false 
    } 

    $scope.submitLoginForm = function(){ 
    } 
    //other app logic 
}]); 

SignupController.js:

angular.module('HomepageModule').controller('SignupController', ['$scope', '$http', 'toastr', function($scope, $http, toastr){ 

    // set-up loading state 
    $scope.signupForm = { 
     loading: false 
    } 

    $scope.submitSignupForm = function(){ 
    } 
     //other app logic 
    }]); 

编辑:

我最怀疑的地方是angular.module('HomepageModule').controller('SignupController', ...行,他们应该从两个控制器引用HomepageModule?此外,在模块中包含两个控制器的语法是否正确?

您需要注册表格<form ng-submit="submitSignupForm()" ng-controller="SignupController" ...

+0

对不起,这是一个错字,请看现在。 –

+0

可能在SignupController.js中使用'Angular'而不是'angular'来代替它的问题 – kmalek

+0

当它们都是小写字母时,它的效果是一样的...... –

这将允许两个控制器存在指定NG-控制器。现在,只有HompageController存在于页面上。

<body ng-app="HomepageModule" ng-cloak> 
    <form ng-submit="HC.submitLoginForm()" ng-controller="HomepageController as HC"> 
     <!-- Some Inputs --> 
    </form> 
    <form ng-submit="SC.submitSignupForm()" ng-controller="SingupController as SC" id="sign-up-form" class="form-signin" name="signup"> 
     <!-- Some Inputs --> 
    </form> 
</body> 
+0

谢谢,作为HC/SC的意思是/做什么? –

+0

仅允许您在页面上同时访问它们,如果它们重叠。在这个用例中不需要。 – carterw485

+0

嗯,恐怕还是不行......这种方式都没有控制器似乎在工作。如果我删除了所有的SC/HC引用,那么我只能回到登录工作 –