通过服务将参数传递给ngOnInit

编程入门 行业动态 更新时间:2024-10-12 18:21:56
本文介绍了通过服务将参数传递给ngOnInit的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我刚开始学习有关角度2的问题,我对我认为是否可能的情况有疑问.

I just started learning about angular 2 and I am having questions on if the scenario I think is possible.

我有一个微服务模型,其中有与每个微服务关联的角度应用程序.

I have a micro service model where in I have angular apps associated to each micro service.

  • 微服务1和ng app 1-用于处理交易 用户
  • 服务2和ng应用2-用于计算用户的所有适用税金
  • Microservice 1 & ng app 1 - is for handling the transactions of the user
  • service 2 and ng app 2 - is to calculate all applicable taxes for the user

如果我进入应用程序1,输入交易明细,然后单击继续按钮,我应该能够将税收计算所需的值与用户ID一起传递给全部"?

If I land on app 1, enter the details of my transaction and click a continue button, I should be able to pass "All" the values that are required for tax calculation along with the user Id?

通过URL传递应该可以,但是我有用户ID,transactionID,交易金额等,以确保安全.

Passing it through URL should work but i have user ID, transactionID, transaction amount etc to be bit secure.

我能否通过ngOnInit()或某些生命周期事件传递它,以便ng app 2获取这些详细信息,并根据传递的init参数将页面的税额加载到页面上?帮助我:)

Would I be able to pass it through ngOnInit() or through some life cycle event so that ng app 2 gets those details and the page loads with the tax values based on the init params passed? Help me on this :)

推荐答案

好吧,您似乎拥有的是Microfrontends.就像每个微服务都是为非常具体的实体设计的一样,每个微前端也都是为非常具体的实体设计的.这就是您似乎拥有的.

Well, what you seem to have is Microfrontends. Just like each microservice is designed for a very specific entity, each micro frontend is designed for a very specific entity. And that's what you seem to have.

在微前端之间共享数据的一种非常常见的方法是定义自定义事件.

A very common approach of sharing data between micro frontends is by defining custom events.

微型前端(A)可以发出如下事件:

A micro frontend(A) can emit an event like this:

// this is attached to the button in micro-frontend A btn.onclick = () => { const event = new Event("a__click"); window.dispatchEvent(event); };

另一个微型前端(B)可以监听该事件并做出相应的反应:

Another micro frontend(B) can listen to that event and react accordingly:

// fire this when the micro-frontend initializes window.addEventListener("a__click", () => this.onUpdateCount()); // actual method to update the count onUpdateCount(amt = 1) { this.state.count += amt; const countEl = this.shadowRoot.getElementById("b__count"); countEl.innerHTML = this.state.count; }

这是 令人启发的文章 在Medium上由本杰明·约翰逊(Benjamin Johnson)组成,您可能想阅读以了解更多信息.

Here's an amazingly enlightening article on Medium by a guy named Benjamin Johnson that you might want to read to know more about it.

话虽这么说,由于这些是DOM事件,因此有人仍然可以以某种方式截获它们.在这种情况下,您可以实现一个自定义的微服务,该微服务可以返回特定的敏感信息,然后对此进行处理.

That being said, since these are DOM Events, someone could still intercept them somehow. In those cases, you could have a custom microservice implemented that could return a particular sensitive information and then do the needful with that.

更多推荐

通过服务将参数传递给ngOnInit

本文发布于:2023-11-24 02:21:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1623616.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:参数   ngOnInit

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!