2017-07-26 22 views
2

我正在使用Angular 4.3.1。Angular - 如何訪問外部應用程序元素?

假設我有此index.html文件:

<!DOCTYPE html> 
<html> 
    <head> 
    <base href="." /> 
    ... 
    ... 
    </head> 

    <body> 
    <my-app> 
    loading... 
    </my-app> 
    </body> 
</html> 

的應用「結構域」從<my-app>元件和它的內部元件開始。

但是,如果我想訪問<head>元素並將其中一個屬性設置爲某個值,該怎麼辦?

喜歡的東西:

<head [myVal]="myObjectVal"> 

當然我可以訪問DOM通過Document.querySelector(),但我不知道是否有更好的方法

問題(也許角的方式?):

假設我有一個服務(@Injectable),它有一個對象,我怎樣才能設置<head [myVal]="myObjectVal">角度的方式

PLUNKER

回答

2

角不支持綁定到根元素以外的元素。

可使用普通TS/JS喜歡

document.querySelector('head')... 

也有Meta服務,允許設置meta標籤。

+1

而[標題](https://angular.io/api/platform-b​​rowser/Title)服務來更改標題:) – PierreDuc

+0

好吧,但是如果我想要將SEO應用於包含關鍵字的Head元素,請問爬蟲看到關鍵字還是不會呢?我是說因爲我通過Ajax請求填充它,所以viewsource沒有數據 –

+0

我不知道這一點。如果抓取工具在使用JavaScript設置時發現元標記,則應在從Angular進行設置時找到它。這不應該是Angular相關的。 –

相關問題