角度控制器内部的无限循环

Infinite loops inside of angular controller

本文关键字:无限循环 内部 控制器      更新时间:2023-09-26

当我在窗口中打开我的应用程序时,我陷入了一个无限循环,其中 angular 不断调用GameCtrl并冻结窗口。代码如下: index.html

<!DOCTYPE html>
<html ng-app="baseball">
  <head>
    <script src="/js/vendor/angular.min.js"></script>
    <script src="/js/vendor/d3.v3.min.js"></script>
    <script src="/js/baseball.js"></script>
  </head>
  <body>
    <div ng-view></div>
  </body>
</html>

baseball.js

var app = angular.module('baseball', []);
function GameCtrl ($scope) {

}
app.config(function ($routeProvider) {
  $routeProvider
    .when('/', {
      controller: GameCtrl,
    })
    .otherwise({redirectTo:'/'});
});

我觉得这应该是微不足道的;任何帮助将不胜感激。

编辑

即使使用模板 URL,它仍然会进入无限循环。以下是更新的配置和模板代码: baseball.js

app.config(function ($routeProvider) {
  $routeProvider
    .when('/', {
      controller: GameCtrl,
      templateUrl: '/templates/field.html'
    })
    .otherwise({redirectTo:'/'});
});

templates/field.html

<div>hi</div>

在此处添加要显示的内容<div ng-view></div>在您的路线中

$routeProvider
.when('/', {
   controller: GameCtrl,
   templateUrl: path/to/your_content.html
})

你需要在头部包含角度路由.js

然后将"ngRoute"注入模块。

查看 http://docs.angularjs.org/api/ngRoute 和 http://docs.angularjs.org/api/ngRoute.$routeProvider