我正在尝试使用 Angular2.0.0-alpha.28(带有相应的 .d.ts)+ TypeScript 1.5.0-beta 构建一个小型应用程序,我收到以下消息:
无法绑定到“controlGroup”,因为它不是“div”元素的已知属性,并且没有具有相应属性的匹配指令
索引.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>Angular 2</title>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.1/css/bootstrap.min.css" />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.2.0/css/font-awesome.min.css" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:400,600" />
<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.28/angular2.dev.js"> </script>
</head>
<body>
<radar>Loading...</radar>
<script>System.import('radar-view');</script>
</body>
</html>
雷达视图.ts
/// <reference path="typings/angular2/angular2.d.ts" />
import {Component, View, bootstrap} from 'angular2/angular2';
import {FormBuilder, Validators, formDirectives, ControlGroup} from 'angular2/angular2';
@Component({
selector: 'radar',
appInjector: [FormBuilder]
})
@View({
template: '<div [control-group]="form"><input control="levels"> {{form.controls.levels.value}}</div>',
directives: [formDirectives]
})
export class RadarView {
form: ControlGroup;
builder: FormBuilder;
constructor(builder: FormBuilder) {
this.builder = builder;
this.form = builder.group({
levels: ["5"]
});
}
}
bootstrap(RadarView);
编译
tsc --watch --target es5 --module commonjs --emitDecoratorMetadata
此外,当我尝试使用 validators.required 时,它看起来也没有找到:
this.form = builder.group({
levels: ["5", Validators.required]
});
错误:(21, 38) TS2339:“typeof Validators”类型上不存在“必需”属性。
我的代码有什么问题?