【问题标题】:Passing parameters from iframe to angular app component将参数从 iframe 传递到 Angular 应用程序组件
【发布时间】:2019-10-16 09:04:58
【问题描述】:

我需要有关如何将 iframe 中的参数从外部应用程序传递到 Angular 应用程序组件的帮助。

我的 iframe 看起来像这样:

 <iframe src="http://localhost:4200?idfiches=123456"></iframe>

http://localhost:4200 是我的 Angular 应用程序的网址

在我的应用程序组件中,我尝试了类似的方法,但它不起作用:

parameterIdfiches: any;
  constructor(private activeRoute: ActivatedRoute) {
  }

  ngOnInit() {
      this.activeRoute.params.subscribe(routeParams => {
        this.parameterIdfiches = routeParams['idfiches'];
      });
  }

有人可以帮我知道我在这里缺少什么吗?先谢谢各位了^^

【问题讨论】:

    标签: angular typescript iframe


    【解决方案1】:

    Angular 文档说你可以在 activeRoute 上一个名为 queryParamMap 的 observable 中找到这些查询参数

    https://angular.io/guide/router#activated-route

    如果你订阅它有帮助吗?

    ngOnInit() {
      this.activeRoute.queryParamMap.subscribe(queryParamMap => {
        this.parameterIdfiches = queryParamMap['idfiches'];
      });
    }
    

    现在 params 和 queryParams 在活动路由上也是可用的 observables,但它们将在以下 Angular 版本中被弃用。来自文档:

    两个较旧的属性仍然可用。它们的能力不如替代品,不鼓励使用,并且可能在未来的 Angular 版本中被弃用。

    params - 包含特定于路由的必需和可选参数的 Observable。请改用 paramMap。

    queryParams——一个包含所有路由可用的查询参数的 Observable。请改用 queryParamMap。

    【讨论】:

    • 我只需要查询参数而不是参数。谢谢大家
    • 注意:文档说它将在以下版本中被弃用。我建议使用 paramsMap 或 queryParamsMap。
    猜你喜欢
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 2021-06-30
    • 2011-03-29
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    • 2017-07-17
    相关资源
    最近更新 更多