如何从静态HTML页面读取数据,例如元标记?

时间:2016-02-03 13:51:41

标签: angular

我有一个Angular 2应用程序,它使用Flask(Python框架)在访问索引时向浏览器提供静态HTML的内容。我想要做的是在我的AboutComponent中显示我的应用程序的版本。我目前让Flask通过元标记(<meta name="version" content="{{ version }}">)将版本渲染到我的HTML中。

我最初的尝试是在我的AppComponent(根组件)组件中创建一个输入(我会将其传递到我的AboutComponent,但我已经知道这样的事情是不可能的

话虽如此,如何在组件中访问HTML的元标记?

2 个答案:

答案 0 :(得分:1)

@onetwothree - 如果你只是想访问它的内容,那就是这样的。

export class MyComponent implements OnInit{
    private appVersion:string;
    constructor(){
        this.appVersion = "";
    }
    // Runs on component creation
    ngOnInit(){
       this.appVersion = this.getMetaData();
    }
    getMetaData():string{
       return document.getElementByName("version")[0].content; 
       //=== "what ever the version you passed in your FLASK template"
    }
}

答案 1 :(得分:1)

更像Angular的方式是使用DomAdapter

import 'package:angular2/platform/browser.dart' show BrowserDomAdapter;

抱歉,我不知道如何将此导入转换为TS。

MyComponent {
  constructor(private dom: BrowserDomAdapter ) {
    dom.querySelector('meta[name="version"]').getAttribute('content');
  }
}