javascript-AngularJS-RangeError:“应用程序启动后超出最大调用堆栈大小”
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-AngularJS-RangeError:“应用程序启动后超出最大调用堆栈大小”,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3687字,纯文字阅读大概需要6分钟。
内容图文
在通过NetBeans运行AngularJS应用后,出现标题中提到的错误.我看不到堆栈过载的任何地方,如您所见,我只初始化了两个用于登录表单处理的变量(我是在AngularJS冒险的开始时).可能是某些硬件问题,还是我在这里犯了一些无意识的错误?
错误:
RangeError: Maximum call stack size exceeded
at c (public_html/bower_components/angular/angular.min.js:115:232)
at http://localhost:8383/LoginJS/bower_components/angular/angular.min.js:115:506
at q (public_html/bower_components/angular/angular.min.js:7:355)
at Object.error (public_html/bower_components/angular/angular.min.js:115:475)
at http://localhost:8383/LoginJS/bower_components/angular/angular.min.js:89:12
at ra (public_html/bower_components/angular/angular.min.js:69:475)
at xa (public_html/bower_components/angular/angular.min.js:58:270)
at xa (public_html/bower_components/angular/angular.min.js:58:402)
at ba (public_html/bower_components/angular/angular.min.js:56:264)
at A.link (public_html/bower_components/angular-route/angular-route.min.js:7:224) (13:52:05:371 | error)
app.js
angular.module('myapp', ['ngRoute']).config(function($routeProvider) {
$routeProvider
.when('/', {
templateUrl: 'index.html'
})
.when('/dashboard', {
templateUrl: 'dashboard.html'
})
.otherwise(({
redirectTo: '/'
}));
});
loginCtrl.js
angular.module('myapp').controller('loginCtrl', function($scope, $location) {
$scope.submit = function() {
var username = $scope.username;
var password = $scope.password;
if($scope.username == 'admin' && $scope.password == 'admin') {
$location.path('/dashboard');
}
};
})
index.html
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="bower_components/angular/angular.min.js" type="text/javascript"></script>
<script src="bower_components/angular-route/angular-route.min.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script>
<script src="scripts/controllers/loginCtrl.js" type="text/javascript"></script>
</head>
<body ng-app="myapp">
<div ng-view></div>
<div ng-controller="loginCtrl">
<form action="/" id="login">
Username: <input type="text" name="username" id="username" ng-model="username"><br>
Password: <input type="password" name="password" id="password" ng-model="password"><br>
<button type="button" ng-click="submit()">Login</button>
</form>
</div>
</body>
</html>
dashboard.html
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<script src="bower_components/angular/angular.min.js" type="text/javascript"></script>
<script src="bower_components/angular-route/angular-route.min.js" type="text/javascript"></script>
<script src="app.js" type="text/javascript"></script>
</head>
<body ng-app="myapp">
<div ng-view></div>
some text
</body>
</html>
解决方法:
因为您同时加载了页面的所有脚本文件,并为循环加载index.html页面的“ /”路径加载了index.html,这就是您收到此错误的原因.
在dashboard.html中,无需再次加载脚本文件,只需编写您的信息即可.然后,您的登录表单将移至另一个页面,如login.html,并在此页面中获取路径“ /”.
喜欢:
路线提供者:
.when('/', {
templateUrl: 'login.html'
})
index.html页面
<body ng-app="myapp">
<h1>Welcome </h1>
<div ng-view></div>
</body>
login.html页面
<div ng-controller="loginCtrl">
<form action="/" id="login">
Username: <input type="text" name="username" id="username" ng-model="username"><br>
Password: <input type="password" name="password" id="password" ng-model="password"><br>
<button type="button" ng-click="submit()">Login</button>
</form>
</div>
和dashboard.html
<div ng-controller="CtrlName"> //ng-controller="CtrlName" if need ctrl and also can use ctrl in route provider
<h2> Dashboard page</h2>
// all of your information's
</div>
它可能会完美地工作
内容总结
以上是互联网集市为您收集整理的javascript-AngularJS-RangeError:“应用程序启动后超出最大调用堆栈大小”全部内容,希望文章能够帮你解决javascript-AngularJS-RangeError:“应用程序启动后超出最大调用堆栈大小”所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。