当前位置: 首页 > 面试题库 >

尝试加载角度超过一次

王宏深
2023-03-14
问题内容

我有一个yeoman脚手架应用程序(全栈角度生成器)。

grunt serve可以正常工作,但是grunt build会产生锁定内存的分布,这很可能是因为角度中的圆形引用。

我将angular升级到了1.2.15。我得到的错误是:

WARNING: Tried to Load Angular More Than Once

升级之前,错误为:

Error: 10 $digest() iterations reached. Aborting!

调试非常困难,因为它仅在构建/缩小之后才发生。我所有的模块都是angular的数组格式,因此最小化DI应该不是问题,而是这样。

没有单个脚本会导致这种情况。它唯一消失的方法是,如果我不使用我的app.js文件进行初始化。我的app.js文件在下面。

有什么想法吗?

'use strict';

angular.module('myApp', [
  'ngCookies',
  'ngResource',
  'ngSanitize',
  'ngRoute',
  'ngTagsInput',
  'ui.bootstrap',
  'google-maps',
  'firebase'
]);

angular.module('myApp').config(['$routeProvider', function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/listing.html',
        controller: 'ListingCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  }]).constant('FIREBASE_URL', 'something');

问题答案:

这可能是许多问题:本质上是routeProvider找不到文件并递归加载默认值的问题。

对我来说,导致问题的原因不是缩小,而是js的串联。

angular.module('myApp').config(['$routeProvider', function ($routeProvider) {
    $routeProvider
      .when('/', {
        templateUrl: 'views/listing.html',
        controller: 'ListingCtrl'
      })
      .otherwise({
        redirectTo: '/'
      });
  }]).constant('FIREBASE_URL', 'something');

您会注意到,如果应用程序找不到文件(即otherwise),则它将重定向到根目录,在这种情况下将加载templateUrl。但是,如果您templateUrl错了,那么它将导致递归,从而index.html一遍又一遍地重新加载角度加载。

就我而言,grunt-concat导致templateUrl在构建后而不是在构建之前是错误的。



 类似资料:
  • 问题内容: 我正在使用角度生成器构建一个yeoman应用程序。 我的index.html文件中包含的js库是: 仅当在jquery 之前 包含jquery时,才会出现此问题,如果在jquery 之后 ,则不会发生。 标题指出的问题是,我在控制台中收到 “警告:试图多次加载角度” ,应用无法初始化。 有人知道为什么会发生这种情况吗? 我只有一个ng-app,我只包含了一次angular …一切。它看

  • 我为我的应用程序中的所有请求创建了一个组件加载和一个拦截器,加载会出现在屏幕上,直到请求完成为止。然而,每当路由器出口的组件发生变化时,我就会得到一个错误。你能帮帮我吗? 我的错误: 错误错误:ExpressionChangedAfterithasBeenCheckedError:表达式在检查后已更改。前一个值:“未定义”。当前值:“true”。似乎视图是在父视图和子视图进行了脏检查之后创建的。它

  • 一段时间以来,我一直在使用Maven和Vaadin 6开发Java应用程序。 我现在需要添加一个附加组件(Vaadin calendar 1.3.0-适用于Vaadin 6)。 我已经在我的pom.xml文件中添加了maven依赖和存储库,正如所附链接上建议的那样,Maven确实下载了我的依赖jar文件,它位于WEB-INF/lib目录中。 但是,当我尝试加载加载页时,我得到以下错误消息(在浏览器

  • 我想做的密码强度角,大写,小写,数字和特殊字符角在控制台中,我得到的错误。 没有密码强度的提供者!在passwordstrength.ts文件中 超文本标记语言 断续器 密码strength.ts

  • 问题内容: 我首先使用body标签中的ng-app =“ myApp”初始化我的应用,这对于在首页加载时加载的所有angularized-html都适用。 稍后,我有一些代码将angularized-html加载到DOM中。 在angular 1.08中,我可以在加载后只运行angular.bootstrap($ newLoadHTML,[“ myApp”]),它将可以正常工作。$ newLoad

  • 当我尝试对200多个用户进行负载测试时,我得到了以下给定的错误。 我的系统配置:8GB RAM、1 TB HDD、Core i5 请帮助我找到解决此错误的方法。