gpt4 book ai didi

Angularjs:ReferenceError:未定义范围

转载 作者:行者123 更新时间:2023-12-04 23:02:04 26 4
gpt4 key购买 nike

我是 Angularjs 的初学者,在理解模块和作用域方面有些困难。

我不断收到范围未定义的错误,但我不明白为什么。首先,我将 Controller 链接到我设置路由的位置,但是由于在单击提交按钮时调用了 Controller 内部的函数,因此我将其拿走了。我试过把它放回去,但这没有任何区别。

这是我的 js 文件:

var myApp = angular.module('myApp', ['ngRoute']);

// routes
myApp.config(function($routeProvider) {
$routeProvider

// route for the home page
.when('/', {
templateUrl : 'home.html',
controller : 'mainController'
})

// route for the about page
.when('/about', {
templateUrl : 'about.html',
controller : 'aboutController'
})

// route for the login page
.when('/login', {
templateUrl : 'login.html'
});
});


myApp.controller('mainController', function($scope) {
$scope.message = 'Beginpagina';
});

myApp.controller('aboutController', function($scope) {
$scope.message = 'Informatie over deze pagina';
});


function loginCtrl($scope, $http){
$scope.doLogin = function() {

$http({

method: 'POST',
url: 'loginController.php',
headers: {'Content-Type': 'application/x-www-form-urlencoded'},
data: {
'username': $scope.un,
'password': $scope.pw
},
}).

success(function(data, status) {

$scope.data = data;
if(data == 'FALSE'){
$scope.errorMessage = 'Geen geldige inloggegevens';
} else {
scope.$apply(function() { $location.path("/profile"); });
}

}).

error(function(data, status) {
$scope.data = data || "FALSE";
$scope.errorMessage = 'Something went wrong';
});
};
};

这是我收到错误的登录页面,尝试登录:
<div class="span5" ng-controller="loginCtrl"> 
<form>
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="Gebruikersnaam" ng-model="un"
type="text" autocomplete="off">
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" ng-model="pw"
type="password" value="" autocomplete="off">
</div>
<input class="btn btn-lg btn-success btn-block" type="submit"
ng-click="doLogin()" value="Login">
<div>{{errorMessage}}</div>
</fieldset>
</form>
</div>

我不知道我是否也应该发布索引页面,因为主页/关于页面的路由工作正常,所以问题出在某个地方制作登录 Controller 并将其链接到我的提交按钮。我发现了一些类似的问题,但我没有看到有人将新 Controller 与 myApp Controller 混合使用,所以我可能做错了。我也读过一个html页面只能有一个模块,所以我不知道我是否可以将登录 Controller 分开。如果有更多信息可以放在正确的方向上,那就太好了。提前致谢!

最佳答案

登录Ctrl , 你用过scope而不是 $scope
问题在排队

  scope.$apply(function() 

采用
  $scope.$apply(function() 

关于Angularjs:ReferenceError:未定义范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21050362/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com