Angular 反应式无线电不';渲染后无法设置
所以基本上是这样的Angular 反应式无线电不';渲染后无法设置,angular,reactive-forms,Angular,Reactive Forms,所以基本上是这样的 {{item}} 一种非常简单的反应形式 然而,当我在我真正的项目中放入正确的代码时。它不起作用 我可以看到它正在尝试将checked属性设置为true 在这条线上 但在加载后,它不会在屏幕上标记为选中 如果我将类型更改为checkbox,它可以正常工作 如果我使用ngModel,它也可以正常工作 我不知道还有什么会出错 更新: 我在另一台电脑上测试过 它也不起作用 组件看起来像 import { FormBuilder } from '@angular/forms';
{{item}}
一种非常简单的反应形式
然而,当我在我真正的项目中放入正确的代码时。它不起作用
我可以看到它正在尝试将checked属性设置为true
在这条线上
但在加载后,它不会在屏幕上标记为选中
如果我将类型更改为checkbox,它可以正常工作
如果我使用ngModel,它也可以正常工作
我不知道还有什么会出错
更新:
我在另一台电脑上测试过
它也不起作用
组件看起来像
import { FormBuilder } from '@angular/forms';
import { Component, OnInit } from '@angular/core';
@Component({
selector: 'app-test',
template: `
<form [formGroup]="form">
<div *ngFor="let x of foods">
<input type="radio" value="{{x}}" formControlName="food"> {{x}}
</div>
</form>
`,
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
form;
foods = ['beef', 'lamb', 'fish'];
constructor(private _FormBuilder: FormBuilder
) { }
ngOnInit() {
this.form = this._FormBuilder.group({
food: 'lamb'
});
}
}
从'@angular/forms'导入{FormBuilder};
从“@angular/core”导入{Component,OnInit};
@组成部分({
选择器:“应用程序测试”,
模板:`
{{x}
`,
样式URL:['./test.component.css']
})
导出类TestComponent实现OnInit{
类型
食品=[‘牛肉’、‘羊肉’、‘鱼’];
构造函数(私有_FormBuilder:FormBuilder)
) { }
恩戈尼尼特(){
this.form=this.\u FormBuilder.group({
食物:“羊肉”
});
}
}
我终于明白了。2天。这是一个艰难的过程。我认为这是不可能的。很显然,这是一个来自美国的已知问题
下面是重复的步骤
@NgModule({
imports: [
BrowserModule,ReactiveFormsModule,
NgbModule.forRoot() ],
declarations: [ App ],
bootstrap: [ App ]
})
两个建议。通常,当我这样做时,我会将其添加到ngOnInit中。也不应该是这样的,食物:['lamb_2'],或者如果你想添加像这样的验证器,['lamb_2',validators.required],是的,我知道。我两个都试过了。不起作用。我能想到的唯一不同之处是,我将Webpack2.2.1用于我的真实项目。我在PlunkerInterest上使用了systemjs。我遇到了一个类似的问题,我切换到FormGroup和FormControl,然后将默认值作为参数添加到中,从而解决了我的问题。由于您的实现非常小,您可以尝试将其编写出来,而不是使用FormBuilder,至少看看这是否解决了问题。也尝试过该方法。我不得不承认这太奇怪了。我有两个项目,没有一个有效。我用过,但不知怎么的,我现在不能成功地运行它。就像所有东西同时倒塌一样:(老兄,我也遇到了很多从哪里开始的随机问题。我想有些网页在编译后有时会损坏。你有没有尝试删除节点_模块并重新安装?还有很多次我不得不这样做并更新所有内容。有些库在没有使用其他库的正确版本时也会损坏。
@NgModule({
imports: [
BrowserModule,ReactiveFormsModule,
NgbModule.forRoot() ],
declarations: [ App ],
bootstrap: [ App ]
})