问题标签 [ngoninit]
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 或构造函数中调用初始化方法
我对 Angular 4 很陌生,
你能告诉我在构造函数中调用像 initializeMyObj() 这样的方法与在 ts 文件中调用 ngOnInit 有什么不同吗?
谢谢
angular - 无法在我的 Angular 4.x 应用程序的 ngOnInit() 之外访问我的 json 响应数据
我有一个 Angular 4.x 应用程序,其中包含一个正在发送的 http 请求,并且我从端点取回了有效的 json(我可以在初始 console.log 中看到) - 问题是我无法在外部看到这些数据ngOnInit() 就在我有 console.log 的下面
谁能建议问题是什么?
javascript - 在 Angular 组件中放置 JavaScript 监听函数的最佳位置是什么?
TL;博士:
我在 Angular 5 应用程序中渲染一个BioDigital HumanAPIiFrame
解剖模型。我使用以下方法实例化 API 对象:
有一个 API 函数human.on(...)
可用于从内部注册点击事件iFrame
(例如从模型中选取对象等)。我需要这个功能才能随时收听事件。我进行对象实例化并将此函数放入ngOnInit()
其中并且它可以工作,但是当我更改源iFrame
以呈现不同的模型时,此函数将停止工作。我应该把这个监听函数放在哪里,以便它的逻辑始终可用?
更长的版本:
我正在使用 BioDigital HumanAPI 开发一个 Angular 应用程序。这里的基本思想是 HumanAPI 提供了几个解剖模型,这些模型可以使用(此处iFrame
的示例)在 Web 应用程序中呈现。这是一个链接,类似于:src
iFrame
由于我希望我的 Angular 应用程序的用户能够查看几个这样的模型,我有一个这些 URL 的列表,并且根据用户的选择,我使用具有以下代码的函数更新src
of :iFrame
updateFrameSrc
最后(问题来了,请继续关注我),为了操作和注册不同的点击事件和用户与模型iFrame
本身的交互,我们制作了一个这样的 HumanAPI 对象:
这让我们可以使用 API 事件侦听器函数human.on('scene.picked')
,例如注册和保存点击事件(如我上面引用的示例所示)。所有这些工作正常。
问题是由于我human
在函数中初始化了对象并将ngOnInit()
函数放在那里,所以在更改源human.on('scene.picked')
后我无法注册点击事件。iFrame
据我了解,ngOnInit()
仅在组件首次初始化时调用一次,所以更新源后可能无法使用监听逻辑?我尝试将逻辑放在不同的生命周期挂钩中,但它不起作用。human.on
iFrame
My current work-around is to re-call the ngOnInit()
function after updating the iFrame
source, and it works that way, but I believe this is against the standard life-cycle management practices.
My questions are:
- It is acceptable to re-call the
ngOnInit()
function from within the component logic? - If not, where should I place a JavaScript API function that listens to click events from an
iFrame
at all times, even after the source of thatiFrame
has been changed?
angular - 角值进入子组件模板但在 ngOnInit 中未定义
当我将值传递给模板中的子组件值但未显示在子组件的 ngOnInit 中时
父组件
子组件
子组件ts文件
json - Angular 5 - ngFor无法使用ngOnIt打印rest json数据
我正在尝试在我的 HTML 选择选项中打印简单的剩余消耗的 json 数据。我已经做过很多次了,但我不知道我在这里做错了什么。我想使用 ngOnIt 因为我必须在我的 HTML 上的任何内容之前加载我的国家和州
HTML -
我的组件 -
json api 使用的数据,完美地显示在 XHR 以及控制台结果中-
angular - Angular 2根据onChange值更改URL和内容
所以,我有一个组件可以实现OnInit
基于 API 调用刷新数据。组件是RoomComponent
。在那个组件中,我传递events
的是一个对象数组。然后在room.component.html
我渲染下拉列表中包含event.url
. 我想在下拉值更改时更改 URL 和内容。
但是这个时候,我只能更改URL,不能更改内容(我仍然不知道如何实现OnInit
和OnChange
一起)。这是一些代码,如果room.component.ts
:
这是一些room.component.html
显示下拉值的代码:
angular - Angular5服务调用在ngOnInit上不起作用
当我导航到结果组件时,ngOnInit 中的服务按预期工作。然后我打开侧面菜单,导航到另一个页面,然后再次导航到结果页面。但是这次页面没有渲染结果。而是渲染了 ng-template。控制台上没有错误,什么都没有。ngOnInit 正在工作,正在显示 console.log('init'); 但是服务电话没有。如果我将服务调用粘贴到构造函数或函数中,它也不起作用。我尝试使用和不使用 ngZone,什么都没有。
我需要提一下,如果我直接在结果页面上按 F5 就可以了。就在我通过this.router.navigate(['/resultados']);
Than 导航到它时,它不起作用。
这是结果组件:
这是结果 HTML:
这是 firestore.service:
angular - angular5 - 在父 ngOnInit 完成之前调用的子组件
首先,在 ngOnInit() 中制作表格设置数据并设置为 settingA 变量。
此设置变量绑定到 html 中的设置。
我想使用settingA在子组件中制作表格。
但是子组件 ngOnInit 在父组件的 ngOnInit 完成之前被调用。
所以在子组件中设置变量是未定义的。
我需要你的建议。
这是父组件 [grid-serialize.component.ts]
settingA 绑定到子组件中的设置变量
这是父 component.html [grid-serialize.component.html]
这是子组件 [table.component.ts]
这是子组件 html [table.component.html]
angular - 检测从命名路由器出口中的组件返回的导航
我在路由器插座中显示了一个A 组件,在其中我有另一个B 组件,它有一个命名的路由器插座,我在其中显示另一个C 组件。
在这个C 组件中,我执行验证,在此之后,我想回到A 组件重新加载它(执行 ngOnInit 或任何方法)。
我已经尝试过使用不同的方法,例如导航、navigateByUrl 和 Location.back()。问题是A 组件永远不会被销毁,因此它永远不会执行 ngOnInit 方法。
有人知道我该如何解决这个问题?谢谢!
angular - 打字稿 - 空数组引用
我正在用 typescript/angular 编写应用程序,我有一个服务,它可以获取带有数据的 json,我想显示这个下载对象,但可能会发生对象可能比我在一个 html 组件中显示的要多,所以我应该拆分此对象数组。顺便说一句,在此之前我应该通过 ip 地址过滤来自 json 的所有对象,所以我编写这样的组件:
但是我不能使用过滤功能,因为 pods 数组是空的,但是为什么呢?