无法让第二个控制器在Angular SPA上工作
我有两页 - 一个signup page
和login 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" ...
这将允许两个控制器存在指定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>
谢谢,作为HC/SC的意思是/做什么? –
仅允许您在页面上同时访问它们,如果它们重叠。在这个用例中不需要。 – carterw485
嗯,恐怕还是不行......这种方式都没有控制器似乎在工作。如果我删除了所有的SC/HC引用,那么我只能回到登录工作 –
对不起,这是一个错字,请看现在。 –
可能在SignupController.js中使用'Angular'而不是'angular'来代替它的问题 – kmalek
当它们都是小写字母时,它的效果是一样的...... –