Javascript 确定角度2组件中是否接收到数据
我正在编写一个程序,将对象从我的Javascript 确定角度2组件中是否接收到数据,javascript,angular,Javascript,Angular,我正在编写一个程序,将对象从我的LandingPage组件发送到我的Details组件。当对象为空时,这意味着我的详细信息组件是在我的登录页之前加载的,我希望能够在代码中确定对象何时为空 我从my中的服务接收到LandingPage数据对象: 结果页.component.ts(/details-route) 当有人直接加载/details路由时,接收的对象将为空。但我不知道如何确定对象是否为空 如何确定是否有人直接加载我的/details路线?我应该检查接收的对象是否为空,还是有更好的方法?结果
LandingPage
组件发送到我的Details
组件。当对象为空时,这意味着我的详细信息组件是在我的登录页之前加载的,我希望能够在代码中确定对象何时为空
我从my中的服务接收到LandingPage
数据对象:
结果页.component.ts(/details-route)
当有人直接加载/details
路由时,接收的对象将为空。但我不知道如何确定对象是否为空
如何确定是否有人直接加载我的
/details
路线?我应该检查接收的对象是否为空,还是有更好的方法?结果表明,您可以通过执行以下操作来检查对象是否为空:
if (obj && (Object.keys(obj).length === 0));
如果对象为空,则返回true。如果用户直接加载,是否要停止加载/details?否,我仍然希望它完全渲染/details。目标是当它被直接加载时,我会打电话给我的服务,以获取丢失的信息。你做得对。您需要在ngInit()函数中检查details对象是否为空。实现此功能的另一种方法是,不要在导航到详细信息页面之前加载它,而是始终将对象的id传递给详细信息页面(组件),并将其加载到ngInit()函数中的详细信息组件中谢谢!我找到了一种检查空对象的方法,所以现在一切都正常了。但我想我将来可能会试试你的建议。再次感谢!
if (obj && (Object.keys(obj).length === 0));