我刚刚创建了一个新的 Firebase 项目,我正在尝试正确托管我的 Angular 应用程序,但当我尝试Hosting site or target partwizard not detected in firebase.json运行ng deploy.
我正在按照官方 Angular 文档中的步骤进行操作:https://angular.io/start/start-deployment#hosting-an-angular-app-on-firebase
我构建的 dist 文件夹ng build --prod是dist/projectName,我尝试使用
{
"hosting": {
"public": "public",
]
}
}
Run Code Online (Sandbox Code Playgroud)
和
{
"hosting": {
"public": "dist/projectName",
]
}
}
Run Code Online (Sandbox Code Playgroud)
和
{
"hosting": {
"public": "dist",
]
}
}
Run Code Online (Sandbox Code Playgroud)
但没有一个有效。
我有一个从父组件传递到子组件的 FormGroup,然后在该 FormGroup 中,有一个从第一个子组件传递到第二个子组件的控件。不过,我随后想在按钮中使用该控件,以便我可以使用它来更改表单组的状态。
但是,当我执行 form.get('controlName') 时,它返回一个 AbstractControl,当我尝试将 AbstractControl 传递给[formControl]按钮的指令时,我收到一条错误消息,指出Type AbstractControl is not assignable to abstract control.
通常我只是将控件转换为组件中的 FormControl,但这不起作用,因为我直接在模板中使用控件。
表格
this.form = this._formBuilder.group({
cost: this._formBuilder.control(''),
width: this._formBuilder.control('')
})
Run Code Online (Sandbox Code Playgroud)
第一个子模板
<app-form-subsection-cost [subsectionFormControl]="form.get('cost')"></app-form-subsection-cost>
Run Code Online (Sandbox Code Playgroud)
第二个孩子
export class FormSubsectionCostComponent implements OnInit {
@Input() subsectionFormControl: AbstractControl;
constructor() { }
ngOnInit(): void {
}
}
Run Code Online (Sandbox Code Playgroud)
第二个孩子模板
<button [formControl]="subsectionFormControl as FormControl" value="Yes">Yes</button> //Error on formControl directive
Run Code Online (Sandbox Code Playgroud)
我不能这样做:
<app-form-subsection-cost [subsectionFormControl]="form.get('cost')"
[subsectionFormControl]="form.get('cost') as FormControl"></app-form-subsection-cost>
Run Code Online (Sandbox Code Playgroud)