代码之家  ›  专栏  ›  技术社区  ›  Kraken

如何将变量外部角度应用程序传递到外部html?

  •  0
  • Kraken  · 技术社区  · 7 年前

    我的angular应用程序外有静态页眉和页脚,我需要在那里显示一些变量。

    <some-html>variable</some-html>
    <app-root></app-root>
    

    我从angular应用程序中的cookie服务获取的字符串。事实上,我知道我可以在angular应用程序之外编写一些逻辑,并单独获取这些数据。

    但我想知道是否还有其他可能的方式将这些数据传递给外部标记 app-root ?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Swoox    7 年前

    如果要在应用程序外部使用变量,可以使用sessionStorage,sessionStorage绑定到浏览器选项卡。如果需要多个选项卡,请使用localStorage。

    例子:

    sessionStorage.setItem('variable', JSON.stringify(variable));

    要获取变量,可以使用:

    JSON.parse(sessionStorage.getItem('variable'));

        2
  •  0
  •   filipbarak    7 年前

    属性绑定不适用于根组件,即您引导的组件。

    这不起作用的原因是您的索引。html,其中 您放置

    不是角度组件。因此,Angular无法编译 此元素。并且Angular在 运行时,只有在编译时,否则,我们会得到 性能命中。(托拜厄斯·博世)

    引用@Thierry Templier 从…起 Pass data from html body to root component

    解决方法是利用DOM:

    <my-app bodyData="passed" ></my-app> 在组件中:

    @Component({
      selector: 'my-app',
      template: `
        (...)
      `
    })
    export class MyAppComponent {
      constructor(private eltRef:ElementRef) {
        let prop = eltRef.getAttribute('bodyData');
      }
    }
    
    推荐文章