angular - 如何通过单击相同的 url 来重新初始化或渲染组件?
问题描述
当我重复单击菜单链接组件时,不会再次重新初始化,所以这些不起作用:
ngOnInit() {
console.log('Reinitialize');
}
constructor() {
console.log('Reinitialize');
}
如何通过单击相同的 url 来重新初始化或渲染组件?
解决方案
ngOnInit()
仅在组件第一次初始化时调用一次。但是,它仍然只是一个函数,因此您可以根据需要多次调用它。虽然值得一提的是,这不是推荐的模式
reInititialize()
在您的代码中,您可以在单击菜单链接时调用 say 一个函数:
ngOnInit() {
console.log('Reinitialize');
}
reInititialize(){
this.ngOnInit()
}
尽管我建议您创建一个initialize()
函数并在您的ngOnInint()
实例中调用它,然后在 initialize()
需要时直接调用该函数,而不是继续调用ngOnInit()
ngOnInit() {
this.initialize()
}
initialize(){
//Do some operation
}
PS我可能不在基地,但我没有它说我需要在评论中提问的50个声望点。如果这不是您想要的,我会更新。
推荐阅读
- google-maps - 使用 place_id 链接到 Google 地图路线
- html - 使用 Zapier Digests 通过 Gmail 以表格格式发送 Airtable 数据
- javascript - 如何更改 Vuetify 日历日期格式
- python - 某些脚本在使用 subprocess.Popen() 时失败,但在 crontab 或手动运行中运行完美
- react-native - 不变违规:requirenativecomponent:在uimanager中找不到“rncamera”
- java - 如何迭代具有数组列表的数组?
- reactjs - 仅当状态为 true 时才应用 fetch 回调
- c# - MVC、Angular 8 和 signalR 随机行为,有时无法连接到集线器,如何解决?
- ruby-on-rails - 如何让 Rails 识别我添加到 usr/bin 的 sqlite3 版本?
- azure - 如何将拒绝分配置于 Azure 订阅或资源组级别?