目前在寫部落格,部落格原先是想每篇文章都用一個Component的template去做,但發現這樣當許多內部結構要改或要增加時很痛苦,每個template都要去改,後來把變成單一個Component的template,把頁面它拆成不同的部分,像頭中尾之類的片段,後台去撈出各個部位的html檔,在[innerHTML]到指定區塊,一來也不用建一堆component。
但這樣又衍生一個問題,每個獨立的Component與template瀏覽器似乎會暫存圖片等等,
跑過一次後再跑很快,但要是用[innerHTML],每個區塊都會再重新載入,明顯比較不流暢。
尤其是當圖片多的時候。
請問有沒有推薦什麼方法。還是基本上就是這樣用?
include其他component可以達到你要的效果
我有個專案
需要多個內容component
每個component都要包含一樣的header跟footer
這時候可以把header跟footer各做一個component
讓其他內容component去include
這樣只要修改header.ts全部的內容都會跟著一起修改
不用每個.ts去改template
內容
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<header-app></header-app>
<p>
我是內容 <br>
你好IT邦幫忙
</p>
<footer-app></footer-app>
`
})
export class AppComponent {
}
Header
import { Component } from '@angular/core';
@Component({
selector: 'header-app',
template: `
<div style="background-color: yellow;">
我是Header
</div>
`
})
export class HeaderLayoutComponent {
}
Footer
import { Component } from '@angular/core';
@Component({
selector: 'footer-app',
template: `
<div style="background-color: red;">
我是Fotter
</div>
`
})
export class FooterLayoutComponent {
}
你先看一下,有疑惑的地方再跟我說 :-)
對我的概念大概是這樣,假定分成三個區塊,header, footer跟”內容“,我的意思是說,問題主要在於”內容“的部份,類似像是大大文中的<p>我是內容 <br>你好IT邦幫忙</p>
這段可能就相當於部落格的“內容”,如果每個“內容”的區塊都是一個compnoent,那每寫一篇新的文章,就要建立一個新的compnoent,而且可能只能靠router去導向,但用[innerHTML]雖然可以達到動態去取一個靜態檔案的”內容“進來,但就是每次進入都要重新讀取效能比較差。有其他方法讓他可以動態放進來嗎?或有辦法動態太呼叫多個component,去呼叫文章1號...文章n號:<content-1-app></content-1-app>...<content-n-app></content-n-app>
。還是就真的只能取捨二擇一。
不好意思 這禮拜休假在旅遊
可以使用dynamic templateUrl