我有一个包含2个FromGroups(用户和地址)的表单
我收到以下错误:
core.es5.js:1084 ERROR Error: Uncaught (in promise): Error: Cannot find control with name: 'street'
Run Code Online (Sandbox Code Playgroud)
当我使用这个课程
export class FormBuilderComp {
addUserFrom: FormGroup;
constructor( @Inject(FormBuilder) fb: FormBuilder) {
this.addUserFrom = fb.group({
userGroup: fb.group({
name: ['', Validators.required],
email: ['', Validators.required],
phone: ['', Validators.required]
}),
addressGroup: fb.group({
street: ['', Validators.required],
suite: ['', Validators.required],
city: ['', Validators.required],
zipCode: ['', Validators.required]
})
});
}
}
Run Code Online (Sandbox Code Playgroud)
...但是,如果我取出其中一个嵌套的FormGroups
export class FormBuilderComp {
addUserFrom: FormGroup;
constructor( @Inject(FormBuilder) fb: FormBuilder) {
this.addUserFrom = fb.group({
userGroup: fb.group({
name: ['', Validators.required], …Run Code Online (Sandbox Code Playgroud) 我试图在运行时获取元素的高度。我有一个导航栏,当我向下滚动时它会变得固定。我想将容器的填充设置为等于导航栏的高度(固定时)。问题是,一旦我将位置设置为固定,offsetHeight 就会变为 0。我可以使用子元素的 offsetHeight 并包括边距/填充来获取高度,但我正在寻找一种更干净的方法。
这使用 Angular 来添加/删除类。
<div class="nav-container" id="nvbr" (dblclick)="getHeight()">
<app-navbar [fixed]="_fixed"></app-navbar>
</div>
<div [style.padding-top.px]="_fixed ? _navHeight : 0">
<router-outlet></router-outlet>
</div>
Run Code Online (Sandbox Code Playgroud)
滚动事件(这告诉 Angular 将我的固定类添加到元素中):
if (window.pageYOffset > 55) {
if (this._fixed === false)
this._fixed = true
}
else {
if (this._fixed === true)
this._fixed = false
}//else
Run Code Online (Sandbox Code Playgroud)
获取高度:
getHeight() {
let navEl = document.getElementById("nvbr")
console.log(navEl, navEl.offsetHeight)
}
Run Code Online (Sandbox Code Playgroud)
如果我进入 chrome 并取消勾选位置:固定;然后我得到正确的高度
有任何想法吗?
如何使用Typescript获取文件夹中的所有文件名?这是一个有角度的2项目。
更具体地说,我要使用的是我的photos文件夹中的图像来设置引导轮播的图像。目前,我正在这样做:
private _images: Image[] = []
ngOnInit(): void {
this._images = [
{ "title": "Slide 1", "url": "../photos/carousel/gg_slide 1.jpg" },
{ "title": "Slide 2", "url": "../photos/carousel/gg_slide 2.jpg" },
{ "title": "Slide 3", "url": "../photos/carousel/gg_slide 3.jpg" },
{ "title": "Slide 4", "url": "../photos/carousel/gg_slide 4.jpg" },
{ "title": "Slide 5", "url": "../photos/carousel/gg_slide 5.jpg" }
]
}//ngOnInit
Run Code Online (Sandbox Code Playgroud)
然后像这样在html文件中使用images数组:
<carousel>
<slide *ngFor="let img of _images">
<img src="{{img.url}}" alt="{{img.title}}">
</slide>
</carousel>
Run Code Online (Sandbox Code Playgroud)
我希望能够遍历photos文件夹中的所有文件并将它们添加到images数组。这样,更新轮播所需要做的就是更改photos文件夹中的照片。
当我处理全局错误时,我正在尝试使用ErrorHandler的实现来发布toast.问题是烤面包永远不会弹出.我在控制台中显示的publishToast方法中有一个console.log,没有出现其他错误.
如果我在组件中创建相同的publishToast方法,则toast工作正常,因此它似乎与组件的分离有关.
@Injectable()
export class AppErrorHandler implements ErrorHandler {
//---------------------------------------------------------------------//
constructor(private _toastyService: ToastyService) { }
//---------------------------------------------------------------------//
handleError(error: any): void {
console.log("Error", error)
alert("Error")
this.publishToast(error, "An unexpected error occured")
}//handleError
//---------------------------------------------------------------------//
publishToast(error: any, msg?: string) {
console.log("Publishing Toast")
let title = "Error " + (error.statusCode ? error.statusCode : '')
let message = msg ? msg : ''
+ error.body ? error.body : ''
// Create the instance of ToastOptions
var toastOptions: ToastOptions = {
title: title,
msg: message,
showClose: true,
timeout: …Run Code Online (Sandbox Code Playgroud)