Javascript AngularJS从v1.1.5迁移到v1.5.8参数';Login.Controller';不是函数,未定义
我正在尝试将angularJS从1.1.5版迁移到最新的1.5.8版,但出现以下错误: angular.js:13920错误:[ng:areq]参数“Login.Controller”不是函数,未定义 js } htmlJavascript AngularJS从v1.1.5迁移到v1.5.8参数';Login.Controller';不是函数,未定义,javascript,angularjs,Javascript,Angularjs,我正在尝试将angularJS从1.1.5版迁移到最新的1.5.8版,但出现以下错误: angular.js:13920错误:[ng:areq]参数“Login.Controller”不是函数,未定义 js } html 我不明白为什么angular的最新版本会出现这种情况 是否需要更改代码?这是定义控制器的方式。请参考这个 Angular需要知道哪个..err..组件是服务,哪个是工厂,哪个是控制器等。因此,您可以像yourApp.controller一样在模块中注册它 在上面的示例中
我不明白为什么angular的最新版本会出现这种情况
是否需要更改代码?这是定义控制器的方式。请参考这个 Angular需要知道哪个..err..组件是服务,哪个是工厂,哪个是控制器等。因此,您可以像
yourApp.controller
一样在模块中注册它
在上面的示例中,GreetingController
将是控制器的名称。因此,在您的情况下,它将成为loginController
。您可以在回调函数中定义所有功能
function($scope,..){
//code goes here.
}
其中,…
是其他依赖项
我希望它能起作用,它只是根据angular 1.5.x调整您自己的代码。所以,如果您有任何错误,请告诉我。您在哪里执行
app.controller
Dudette!您的登录控制器在哪里??您知道它应该看起来像app.controller(“loginCtrl”,…,function(){})代码>?是的,我知道,我以前也没有见过这样的东西,但那就是代码,工作得很好Login={controller:function($scope,$location,User){…}
不可能完成,angular需要了解itAngular在1.1.x和1.5.x之间发生了显著变化。比较一下forng控制器和forng控制器
您并不是指OP的解释,即代码当前在1.1.5中工作。这是一个迁移问题。@Boaz我知道。这是一个不同的版本。没有必要告诉她如何修复她的应用程序的一部分。我正在给她介绍Angular 1.5.x中控制器的一般概念。她将需要做很多更改。您可能会解释两个版本之间的差异,并建议如何从旧版本迁移到新版本,如果可能的话,进行最小的更改。是的,我知道,但这是旧应用程序的一部分用angular v.1.1.5编写的阳离子非常有效。@Margaret如果你真的要用1.5.x升级它,那么你需要更改代码。给我几分钟时间,我会尝试为你重新编写它。但它将未经测试,因此..它可能无法立即工作。
<div class="login-area" ng-controller="Login.controller" style="width: 1300px; margin: auto">
<form autocomplete="off">
<div class="login-panel" ng-form name="loginForm" align="center">
<table>
<tr>
<td><fmt:message key="username"/></td>
<td>
<input class="easyui-validatebox w140" type="text" name="username"
data-options="required:true"
ng-model="username"
ng-change="validate()"
required/>
</td>
</tr>
<tr>
<td><fmt:message key="password"/></td>
<td><input class="easyui-validatebox w140" type="password" name="password"
data-options="required:true"
ng-model="password"
autocomplete="off"
ng-change="validate()"
required/></td>
</tr>
<tr>
<td colspan="2">
<a id="submit-btn" class="easyui-linkbutton" data-options="iconCls:'icon-ok',disabled: true"
ng-click="submit()"><fmt:message key="submit"/></a>
<a id="reset-btn" class="easyui-linkbutton" data-options="iconCls:'icon-undo'"
ng-click="reset()"><fmt:message key="reset"/></a></td>
</tr>
</table>
<div class="clr tac small">
<a href="#" id="forgot-passwd" onclick="$('#forgot-password-window').window('open')"><fmt:message
key="login.forgotPassword"/></a>
</div>
<br>
<div class="clr tac">
<fmt:message key="login.disclaimer"/>
</div>
</div>
</form>
</div>
myApp.controller('GreetingController', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);
function($scope,..){
//code goes here.
}
var app = {};
app = angular.module('myApp', ['ngResource', 'ngRoute'])
//Login Controller
app.Controller('LoginController', '$scope', '$location', 'User' function($scope, $location, User){
$scope.initializeScopeVariables();
$scope.createScopeFunctions();
$scope.initializeScopeVariables= function () {
$scope.$root.forgotPasswordUsername = null;
}
$scope.createScopeFunctions= function () {
$scope.reset = function () {
$scope.$root.filters = {};
$scope.resetForm();
}
$scope.submit = function () {
$scope.submitForm();
}
$scope.validate = function () {
if ($scope.loginForm.$valid) {
$('#submit-btn').linkbutton('enable');
} else {
$('#submit-btn').linkbutton('disable');
}
}
$scope.$root.submitPasswordReminder = function () {
if ($scope.$root.forgotPasswordUsername) {
mask(true);
User.sendPasswordReminder($scope.$root.forgotPasswordUsername).success(
function (data) {
mask(false);
if (data.status == M2M.Response.ERROR) {
error(data.statusMessage);
} else {
info(Locale.get('passwordReminderSent'));
$scope.clearPasswordReminderForm();
}
}
).error(errorCallback);
}
}
$scope.$root.clearPasswordReminderForm = function () {
$('#forgot-password-window').window('close');
$scope.$root.forgotPasswordUsername = null;
}
/**
* Resets login form
*
* @param $scope
*/
$scope.resetForm= function () {
$scope.username = '';
$scope.password = '';
$('input').removeClass('validatebox-invalid');
},
/**
* Submits login form
*
* @param $scope
* @param $location
* @param User
*/
$scope.submitForm= function () {
if (!($scope.username && $scope.password)) {
return;
}
mask(true);
User.authenticate($scope.username, $scope.password).success(
function (data) {
if (data.status == M2M.Response.ERROR) {
mask(false);
error(data.statusMessage);
} else {
location.href = 'main.html';
}
}
).error(errorCallback);
}
}
});
$(document).keypress(function (event) {
if (13 == event.keyCode) {
$scope.submit();
$scope.$apply();
}
if (27 == event.keyCode) {
$scope.reset();
$scope.$apply();
}
})