- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
)!."-6ren"> )!."-我已经按照angular2的官方指南学习了angular2。当我使用angular2-alpha28时,一切正常!将 angular2 更改为 alpha36 时,它不起作用!它显示以下错误: EXC-6ren">
我已经按照angular2的官方指南学习了angular2。当我使用angular2-alpha28时,一切正常!将 angular2 更改为 alpha36 时,它不起作用!它显示以下错误:
EXCEPTION: Error during instantiation of Token(Promise<ComponentRef>)!.
angular2.dev.js:22746 ORIGINAL EXCEPTION: TypeError: Cannot read property 'toString' of undefined
angular2.dev.js:22746 ORIGINAL STACKTRACE:
angular2.dev.js:22746 TypeError: Cannot read property 'toString' of undefined
at new InvalidBindingError (angular2.dev.js:9171)
at _resolveBindings (angular2.dev.js:27377)
at Function.execute.Injector.resolve (angular2.dev.js:28030)
at Function.execute.DirectiveBinding.createFromBinding (angular2.dev.js:28611)
at Function.execute.DirectiveBinding.createFromType (angular2.dev.js:28643)
at execute.Compiler._bindDirective (angular2.dev.js:29892)
at execute.Compiler.compileInHost (angular2.dev.js:29908)
at execute.DynamicComponentLoader.loadAsRoot (angular2.dev.js:17421)
at angular2.dev.js:30555
at Injector.execute.Injector._instantiate (angular2.dev.js:27893)
这是我的 ts 代码:
/// <reference path="typings/angular2/angular2.d.ts" />
import { Component, View, bootstrap, NgFor, NgIf, Inject, forwardRef} from 'angular2/angular2';
@Component({
selector: "my-app",
bindings: [FriendsService]
})
@View({
template: `<h1>Hello {{ name }}</h1>
<p>Friends:</p>
<ul>
<li *ng-for="#name of names">{{ name }}</li>
</ul>
<p *ng-if="names.length > 3">Has many friends!</p>
<input #myname (keyup)>
<p>{{myname.value}}</p>
<input #nametext>
<button (click)="addName(nametext.value)">Add Name</button>
`,
directives: [NgFor, NgIf]
})
//Component controller
class MyAppComponent {
name: string;
names: Array<string>;
constructor(@Inject(forwardRef( () => FriendsService )) friendsService: FriendsService) {
this.name = 'Alice';
this.names = friendsService.names;
}
addName(name: string) {
this.names.push(name);
}
doneTyping($event) {
if($event.which === 13) {
this.addName($event.target.value);
$event.target.value = null;
}
}
}
class FriendsService {
names: Array<string>;
constructor() {
this.names = ["Alice", "Aarav", "Martin", "Shannon", "Ariana", "Kai"];
}
}
bootstrap(MyAppComponent,[FriendsService]);
和 html:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Angular 2 Quickstart</title>
<script src="https://github.jspm.io/jmcriffey/bower-traceur-runtime@0.0.87/traceur-runtime.js"></script>
<script src="https://jspm.io/system@0.16.js"></script>
<script src="https://code.angularjs.org/2.0.0-alpha.36/angular2.dev.js"></script>
</head>
<body>
<my-app></my-app>
<script>System.import('app');</script>
</body>
</html>
最佳答案
虽然这不是 OP 中的问题,但如果您在装饰器之后错误地添加了一个分号,您也会遇到此错误:
@Component({
selector: 'my-app',
template: `...`
}); // <--- this extraneous ';' will cause the error
export class AppComponent {
...
}
通常,此错误可能是您传递给 @Component
的配置对象中某处拼写错误的结果。例如,另一个答案提到了一个未闭合的字符串,即缺少 "
。
关于angular - 使用 angular2-alpha36 时出现错误 "Error during instantiation of Token(Promise<ComponentRef>)!.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32393040/
我希望能够从内部销毁我的组件。 (不是来自父级,因为它是在多个区域动态创建的)。 我从 angular 的 api 中读到他们有一个 ComponentRef 对象。我试过将它包含在构造函数中,但它说
如果我们有一个动态(动态创建 - 非声明式)ComponentRef 实例,并且我们在该实例上调用 destroy(),是否会取消对 的任何订阅已订阅的 >EventEmitter 实例。 例如,如果
所以,我正在尝试使用 heat 为我的项目中的文件生成片段。查看我过去生成的文件以及网络上的各种 WiX 文章,我看到我有目录/组件的片段,然后是使用 ComponentRef 定义 Componen
已经回答了如何从 Angular 2 组件获取 DOM 元素:ComponentRef.location.nativeElement(ComponentRef.location 给出了直接访问 DOM
我正在制作一个弹出组件,我想在其他几个组件中使用它,因此我制作了一个 popup.service ,使该组件能够通过其他组件内的 *ngIf 加载。这给我带来了一个问题,因为 PopupCompone
我尝试在使用 ViewContainerRef 和 ComponentFactoryResolver 创建组件后立即将 CSS 类添加到该组件。我希望能够根据已添加到 myViewContainerR
我遇到 typescript 错误 error TS2339: Property 'close' does not exist on type '{}' 我遇到问题的代码:- home.directi
我正在以 Angular 2 构建模态服务。我解决了大部分问题,但我无法以良好的 Angular 方式将模态组件放置在 body 元素中。我使用 DynamicComponentLoader.load
无法删除 ionic-2 中的动态组件。 typescript 编译时说异常 “Generic type 'ComponentRef' requires 1 type argument(s)”. 此外
我已经按照angular2的官方指南学习了angular2。当我使用angular2-alpha28时,一切正常!将 angular2 更改为 alpha36 时,它不起作用!它显示以下错误: EXC
我是一名优秀的程序员,十分优秀!