Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS从v1.1.5迁移到v1.5.8参数';Login.Controller';不是函数,未定义_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS从v1.1.5迁移到v1.5.8参数';Login.Controller';不是函数,未定义

Javascript 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一样在模块中注册它 在上面的示例中

我正在尝试将angularJS从1.1.5版迁移到最新的1.5.8版,但出现以下错误:

angular.js:13920错误:[ng:areq]参数“Login.Controller”不是函数,未定义

js

}

html



我不明白为什么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之间发生了显著变化。比较一下for
ng控制器和for
ng控制器
您并不是指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();
        }
})