【问题标题】:RangeError: Maximum call stack size exceeded (Angular)RangeError:超出最大调用堆栈大小(角度)
【发布时间】:2016-04-20 03:04:43
【问题描述】:

我目前正在尝试使用 Node/Express 后端构建一个简单的路由 Angular 应用程序。但是,每当我启动服务器时,页面就会消失。每当我遇到错误时,它都会显示“RangeError: Maximum call stack size exceeded”。

我有点困惑,因为我知道我没有做任何密集的事情......我错过了什么?

http://plnkr.co/edit/BzkcruqxDAKx5Kp3E26G

app.js

angular.module('NewsEye', ['newsEyeRoutes']) 

.controller('mainController', function() {

    //bind this to view-model   
    var vm = this;

    vm.message = 'hey there! something is over here...';

})

.controller('homeController', function() {
    var vm = this;

    vm.message = 'Home page test.'
})

.controller('contactController', function() {
    var vm = this;

    vm.message = 'Contact test.'
})

app.routes.js

angular.module('newsEyeRoutes', ['ngRoute'])

.config(function($routeProvider, $locationProvider) {
    $routeProvider

    .when('/', {
        templateUrl : 'views/home.html',
        controller  : 'homeController',
        controllerAs: 'home'
    })

    .when('/contact', {
        templateUrl : 'views/contact.html',
        controller  : 'contactController',
        controllerAs: 'contact'
    })

$locationProvider.html5Mode(true);
})

server.js、index.html 和部分视图可以在 plunkr 链接中找到。

【问题讨论】:

    标签: javascript angularjs routing


    【解决方案1】:

    在您的 routeprovider 中,您没有给出 else 子句 - 它设置了默认路由。

    尝试添加一个...

    .otherwise('/');

    当您收到此错误时,您访问的是什么网址?

    你能在所有网址上得到它吗?

    【讨论】:

    • 我似乎在所有网址上都能看到它。当页面加载时,它不会停止,最终被我的浏览器杀死。我尝试添加“否则”的情况,但它仍然陷入困境......
    • mm 很难说但是另一个猜测... $locationProvider.html5Mode(true);已使用...您是否在 HTML 中设置 ? ...您是否在 HTML 中添加了 ng-app="newsEyeRoutes" ?
    • 另一个想法...您能解释一下您的浏览器开发工具的 NET 选项卡中发生了什么...它是否对同一页面重复请求?还是只是提出一个请求然后就死了?
    猜你喜欢
    • 2021-07-31
    • 2018-02-06
    • 1970-01-01
    • 2021-05-30
    • 2021-07-11
    • 2019-07-05
    • 2015-04-26
    相关资源
    最近更新 更多