问题标签 [angular-lifecycle-hooks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - ngOnInit() 被调用两次并获得两个 API 响应
app.component.ts
app.component.html
ngOnInit()
据我所知,该 API 被调用了两次。为什么会这样,我该如何解决这个问题?
angular - 在 Angular 10 中的 ngOnInit() 之后执行某些逻辑
我想在之后执行一些逻辑,ngOnInit()
因为我想将逻辑与页面渲染分离。我想到了 Angular 生命周期钩子,所以我将逻辑放入其中ngAfterViewInit()
,但似乎它与ngOnInit()
.
代码示例:
根据 Angular 生命周期钩子,ngAfterViewInit()
应该在 之后执行ngOnInit()
,但代码运行结果表明并非如此。itemFound
inngAfterViewInit()
始终是“未定义的” 。
我试图将代码块从ngAfterViewInit()
to ngOnInit()
,在 promise 调用之后,itemFound
将获得适当的值。
谁能帮忙解释哪里出了问题?是因为 Promise 调用是异步的吗?
angular - 如何在 Angular Material 对话框中重用实例化组件?
我们正在尝试创建一个具有两个“视图状态”的组件 - 状态 A 在文档流中与往常一样(类似于预览/缩略图)。状态 b 应该是它的放大版本(模态)。
我们可以毫无问题地创建一个组件并在页面中使用它(状态 A)。然后我们实现了一个放大它的函数(Angular Mat 对话框),它是状态 B。不幸的是,这将创建我们组件的一个新实例,我们将丢失所有实例化的数据/状态。
问题:是否可以重用组件实例来保持状态并可能节省资源?
angular - 无法以角度更新子组件属性
我有一个过滤数据的功能。当我在过滤器弹出窗口中输入一些值时,它会成功显示结果。然后我将这些数据添加到本地存储中(因为我需要将这些数据保留在反向链接中)并且我正在重定向到另一个页面,当我按下当前页面上的后退按钮并导航到相同的过滤器组件时,我需要设置过滤器组件值来自本地存储,但我收到这样的错误“无法在 SearchUserGridComponent.autoFillAdvanceSearch 设置未定义的属性'状态'”我在这个问题上非常努力,请帮忙。代码如下所示。
当用户单击返回按钮时,这些方法将在 search-User-Grid.component.ts 上调用
angular - 如何在不调用 fixture.detectChanges() 的情况下绑定模板?
我正在修复/向现有应用程序添加单元测试。下面是代码遵循的模式。方法调用其他方法。单元测试使用一些模拟类。
调用fixture.detectChanges( )就是调用ngOnInit(),它调用链中的所有其余方法。我想要的只是调用一种方法,methodC()。
我调用fixture.detectChanges()的原因是将新值绑定到模板。有没有办法在不调用fixture.detectChanges()的情况下这样做?
这里的模板
我的单元测试
感谢您的帮助。
jquery - 动态加载外部javascript文件在角度6中不起作用
我正在使用Angular 6
,正在尝试在我的项目中添加Bootstrap Multiselect 。但是这里遇到了一些bootstrap-multiselect.js
无法在页面中加载的问题。
所以我想动态添加添加这个bootstrap-multiselect.js
文件,但它没有加载请帮助我
索引.html
app.component.ts
app.component.html
它仍然显示如下:
请帮助解决这个问题
angular 6
。这个问题可能已经问过了,但这并不能解决我的问题。
提前致谢。
angular - 如何知道动态创建的 Angular 组件何时可以在 DOM 中请求?
我像这样动态创建一个 Angular 组件(代码被简化,有一些缺失的部分):
我必须等待大约 200 毫秒才能让我的组件在 DOM 中可用以请求……否则它返回未定义。我试图实现ngAfterViewInit
,MyComponent
然后公开一个可观察的,以便我可以订阅它然后请求它,但它仍然返回未定义。MyComponent
只有@Inputs 和一个模板,没有别的。模板看起来像这样:
我如何知道动态创建的组件何时可供请求?
angular7 - 在 URI 中的每个选项卡更改上提示输入密码 - Angular 7
我有一个/admin
URI,其中有 3 个子选项卡
2 个子选项卡的内容是从不同的组件中提取的,在这 2 个子选项卡之间切换时,应出现密码提示页面或弹出窗口,并且只有在密码正确的情况下才会显示各个选项卡的内容。\
如何使用 Angular 生命周期钩子来实现这一点?
angular - 如何在角度生命周期钩子中使用等待?
我正在开发一个角度应用程序来导出 PDF,但在导出的 PDF 中看不到数据值。我的方法:我有2个组件(登录,主页),在登录组件中创建了一个按钮(导出),它将用户导航到主页组件,并且在ViewInit之后它将生成pdf。我在 ngAfterViewInit() 生命周期钩子中编写了 pdf 生成代码。当我尝试等待响应时,它不起作用。
我尝试了以下两种方法,home.component.ts
但仍然没有任何效果
有什么方法可以等待结果并生成 PDF 吗?
预期结果:等待/获取的响应应出现在生成的 PDF 上:)
angular - 在 Angular 11 中完成 Obsevable 和渲染后如何运行代码?
在我的 Angular 11 项目中,我有一个 Observable,它改变了视图并在渲染时需要一些时间。
像这样的东西:
运行后ngOnInit
observable 仍在运行和处理数据。数据到达后,管道更改模板。但是这种变化发生在ngAfterViewInit
完成之后。所以我需要一个在管道之后运行的灵魂,并且渲染完成了正在发生的事情,因为管道完成了。
在我的可观察对象和导致的渲染完成后,如何运行代码(工具提示初始化)?
这ngAfterViewChecked
不是一个好的解决方案,因为它总是在视图更改时运行,而且我的工具提示初始化也会更改视图。所以我只想运行一次这个初始化。
有什么解决办法吗?