ここでは完全なエラーです。コンポーネントの初期化無限ループ - 角2 JSPM
RangeError: Maximum call stack size exceeded
at Injector._instantiate (http://localhost:8000/build.js:36366:63)
at Injector._instantiateProvider (http://localhost:8000/build.js:36244:23)
at Injector._new (http://localhost:8000/build.js:36234:21)
at InjectorInlineStrategy.instantiateProvider (http://localhost:8000/build.js:35998:30)
at ElementDirectiveInlineStrategy.init (http://localhost:8000/build.js:35106:20)
at new AppElement (http://localhost:8000/build.js:34800:24)
at viewFactory_constructor0 (viewFactory_constructor:74:26)
at viewFactory_constructor0 (viewFactory_constructor:76:1)
at viewFactory_constructor0 (viewFactory_constructor:76:1)
at viewFactory_constructor0 (viewFactory_constructor:76:1) <app id="NG2_UPGRADE_0_app_c0">
ここに私のソースファイルがあります。
import 'reflect-metadata'
import {Component} from 'angular2/core';
import {bootstrap} from 'angular2/platform/browser'
console.log('Files have started being compiled and infinite loop has begun');
var TodoCmpTest =
Component({
selector: 'todo-cmp'
})
.View({
template: `<h1>TodoCmpTest</h1>`
})
.Class({
constructor: function(){
console.log('hello');
}
});
var AppComponent =
Component({
selector: 'app',
})
.View({
template: `
<div>
<h1> Hello World </h1>
<todo-cmp></todo-cmp>
</div>
`,
directives: [TodoCmpTest]
// directives: []
})
.Class({
constructor: function() {}
});
bootstrap(AppComponent);
何度も何度もTodoCmpTestを再実行します。
これらの2つの行を入れ替えても動作しますが、TodoCmpTestは読み込まれません。 directives: [TodoCmpTest] // directives: []
あなたが...次の操作を行って
1. git clone https://github.com/danielrasmuson/Angular2HelloWorld-StackOverflow 2. use node v5.4.0 3. jspm install 4. npm install 5. npm start
私はやや似た問題を抱えていました。コンポーネントごとに1つのファイルを使用し、そのファイルが修正されているかどうかを確認してください。 – Langley
コメントありがとう@Langley。はい、私は複数のファイルでそれを持っていましたが、私は例のファイルをマージしました。 :/ –
あなたはどのようなng2を使用していますか?小型化されていないバンドルを使用していますか? –