2016-10-17 55 views

回答

1

基本上,由於Javascript對象字面值概念,您不能在組件中多次使用templateUrl,您需要創建另一個包含共享窗體的組件,然後您需要創建component1和component2和這兩個組件中,都需要添加您創建的共享格式指令。從需要共享服務以及能夠與這兩個組件進行通信。

換句話說,它會是這樣

@Component({ 
selector: 'shared-form', 
templateUrl : './app/shared-form.html',  
}) 

@Component({ 
selector: 'food-form', 
templateUrl : './app/form.html', 
}) 


@Component({ 
selector: 'food-form2', 
templateUrl : './app/form2.html', 
}) 

,然後在這兩個模板form2.htmlform1.html你能夠使用

<shared-form></shared-form> 

這使您可以有兩個之間有一個共享的形式觀點。

注意:如果應該在兩個組件中使用共享形式的邏輯,那麼您需要有一箇中間服務來在組件之間傳遞不同的值。有一個很好的例子here

這可以應用於不同的事情,你需要記住的是你的代碼的哪個部分應該是可重用的,然後使它成爲一個組件。

0

不,你不能使用它,因爲..

[ts] An object literal cannot have multiple properties with the same name in strict mode. 

您可以使用template。 Angular2 Typescript允許通過使用字符來描述多行模板。

+0

我可以使用templateUrl和模板嗎? –

+0

如果一起使用,那麼只有'template'數據會顯示在頁面上 – Poonam

相關問題