当这些 Controller 位于不同的 js 文件中时,如何为多个 Controller 使用一个模块。
我有3个js文件 1.app.js 2. 登录。 js 3.Register.js
app.js
var app = angular.module("myApp", ['ngRoute']);
app.config(function ($routeProvider) {
$routeProvider.when('/', {
templateUrl: 'Login/login.html',
controller: 'myCtrl'
})
.when('/register', {
templateUrl: 'Register/register.html',
controller: 'registerCntrl'
})
})
登录.js
var app = angular.module("myApp");
app.controller("myCtrl", function ($scope) {
$scope.login = function (data) {
console.log(data);
if (data.name == 'pinku' && data.pswd == '1234') {
console.log("Login Successfull");
} else {
console.log("Not successful");
}
};
$scope.moreInfo = function () {
alert("M in more info");
}
});
注册.js
var app = angular.module("myApp");
app.controller("registerCntrl", function ($scope) {
});
我已经在 app.js 文件中定义了 mymodule,现在我想将 Controller 注册到该模块,并且 Controller 位于不同的类中。我已经在 app.js 中注入(inject)了 ng-Route。在登录中使用已定义的模块但出现错误
“无法实例化模块 ngRoute,原因是:”
提前致谢
最佳答案
你可以这样做:
angular.module("myApp")
.controller(...)
对于两个 Controller ,而不是在此处编写变量
注意:app.js 应在任何 Controller 之前加载才能正常工作。
这是可以实现的方法之一:
<html ng-app="myApp">
<head>
<title></title>
</head>
<body>
<script type="text/javascript" src="app.js"></script>
<script type="text/javascript" src="controller1.js"></script>
<script type="text/javascript" src="controller2.js"></script>
</body>
</html>
除此之外,您还可以使用一些任务运行程序(例如 gulp 或 grunt)来自动执行此操作。
关于javascript - 如何将一个模块用于多个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44603367/