内容被两次加载Angular

时间:2018-10-31 15:27:15

标签: angular angular6

我有这个html页面,内容加载了两次。我使用路由,并在路由文件中输入以下代码:

 path: '', component: HomeComponent,pathMatch: 'full',data: {... }

    }

我还有其他途径。问题是当我进入http://localhost:4200时,内容被加载了两次。我了解这是因为我将<p *ngIf="execute()"></p>放在了html代码中,然后在ts代码中做了

execute(){
console.log("DIR");
return true;
}

此“目录”显示了两次,并且我的html页面中没有任何内容。有人帮助我吗?

1 个答案:

答案 0 :(得分:0)

放置在*ngIf指令中的条件在组件的生存期内可能会多次执行。这是正常现象,因为框架需要不断重新评估在组件状态变化时(即随着变化检测逻辑的加入)应该呈现的内容和不应该呈现的内容。

正如评论中指出的那样,尽管我不确定跨Angular版本是否对此进行了明确定义,但这种行为在开发模式和生产模式之间可能有所不同。

为了解组件的生命周期,您可能会发现定义lifecycle hooks并在诸如ngOnInit之类的方法中放置断点或跟踪更为有用。这将使您对框架与组件的交互方式有一些了解。