我在Angular项目(v4)上工作,我想测试组件的 ngOnInit 。但是,我不知道用路由测试组件。实际上,由于URL params,我希望找到一个包含2个对象数组的标签。谢谢你的回答。
import { Component, OnInit } from '@angular/core';
import { MenuNavComponent } from '../../shared/folder/cpt.component';
import { Router } from '@angular/router';
@Component({
selector: 'cpt-small',
templateUrl: './cpt-small.component.html',
styleUrls: [
'./cpt.scss'
]
})
export class Cpt extends ParentCpt implements OnInit {
constructor( private router: Router ) {
super();
}
ngOnInit() {
this.router.events.subscribe(() => {
if (!this.router.url.startsWith('/home')) {
let routeURL = this.router.url.split('/')[1];
routeURL = `/${routeURL}`;
this.menu.forEach((menuCategory, index) => {
menuCategory.items.forEach((item) => {
if (routeURL === item.link) {
this.onDropDownClicked(index);
}
});
});
}
});
}
onDropDownClicked(index) {
this.menu.forEach((dropDown, i) => {
if (i !== index) {
dropDown['open'] = false;
} else {
dropDown['open'] = true;
}
});
}
}