2017-04-24 55 views
1

我有一個應用程序使用angularjs,我想開始將這個應用程序改寫爲Angular2。 不幸的是,原本的應用程序混合了Asp.Net MVC,當時身體與ng-app一樣。Angular2根構件與身體選擇器

我想在Angular2中做類似的方法來將AppComponent選擇器設置爲body。 那麼,我將能夠一步一步地將舊應用程序改寫爲新組件,但是。

我的問題是組件內部需要模板。這可能是沒有模板,因爲html將從服務器打印?

目前它的工作原理就是這樣。當用戶點擊頁面服務器返回html的

<html> 
<body ng-app="flymark"> 

Here could be any angular directive or other controolers 

</body> 
</html> 
+0

你能否提供一個關於它如何實現的摘錄? –

+0

@ElwinArens完成。但我認爲它不可能,因爲我想要做的編譯組件不具備模板和AOT實際上正在編譯模板 –

回答

0

這是可能的,如果我理解正確的,它並不總是那麼你必須使用內部組件模板的情況下,只有這取決於你的喜好和需要:

你有兩種選擇使用模板:

  1. 模板
  2. TemplateURL:

    templateUrl: ' https://test.html ',
    styleUrls: ['https:/test.css']

您可以使用模板網址,並通過您的服務器的URL模板URL這應該工作完全正常,但你必須做你的模板更改,即使它是在服務器,以便與您的組件或互動它不會迴應你想要的方式......

你應該把你的html分成幾個其他組件,根據你的需要提供URL。這將使您能夠定位您想要的模板的任何部分。

+0

不,它不會工作:) –

+0

@VolodymyrBilyachat是的,如果你將它作爲單個HTML文件傳遞,它不會。因爲沒有辦法將身體作爲選擇者。但是你可以將你的html文件分割成單獨的模板,然後通過不同的組件來調用它,這樣你可以以body爲目標,並有單獨的選擇器。在任何情況下,您可能需要對當前模板進行更改 – 2017-04-24 07:22:46

+0

是的,但請閱讀原始問題:)它是什麼:(我不能重寫整個應用程序 –