Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 使用*ngIf隐藏组件有时会留下奇怪的填充_Angular_Angular6 - Fatal编程技术网

Angular 使用*ngIf隐藏组件有时会留下奇怪的填充

Angular 使用*ngIf隐藏组件有时会留下奇怪的填充,angular,angular6,Angular,Angular6,我试图根据我的路线在某些组件中隐藏我的标题。我的代码非常简单,我只需订阅路由并检查它是否与我的路由匹配正则表达式: this._router.events.pipe( filter((event) => event instanceof NavigationEnd), takeUntil(this.onDestroy$) ).subscribe( x => { const regex = /\/courses\/(.\/*)/g; const match = r

我试图根据我的路线在某些组件中隐藏我的标题。我的代码非常简单,我只需订阅路由并检查它是否与我的路由匹配正则表达式:

this._router.events.pipe(
  filter((event) => event instanceof NavigationEnd),
  takeUntil(this.onDestroy$)
).subscribe(
  x =>  {
  const regex = /\/courses\/(.\/*)/g;
  const match = regex.test(x['url']);
  this.showHeader = !match;
});
在我的模板中,我相应地呈现标题:

<app-layout-header *ngIf="showHeader"></app-layout-header>

我尝试在我的身体上设置padding:0,但没有任何改变。另一种“黑客”可能是在特定组件中为我的内容设置一个负边距,但这也需要我使用z索引,这会导致一个非常丑陋的解决方案


为什么我的页面没有正确呈现?

能否请您将下面的部分代码包装在setTimeout()中


我忘了在我的另一个组件的typescript中向滚动事件的主体添加填充。因此,当从该页面重定向时,会留下空白。我通过在Ngondestory中将身体填充重置为0来修复它

能否在主脚本中设置一个断点,然后在该断点处在body元素上设置一个断点,这样就可以看到哪些代码正在进行更改?您的意思是在body html元素上设置一个断点吗?我不知道该怎么做,万一你再次遇到类似的事情,请检查。如果您试图找出某些属性是如何设置的,则DOM更改断点非常有用。我用0将其包装在一个超时中-没有区别:(在body标记中,设置padding top的位置)。您可以共享该代码吗?找出它为什么会呈现奇数空格。感谢您的努力
const regex = /\/courses\/(.\/*)/g;
const match = regex.test(x['url']);
this.showHeader = !match;