有時候,應用程式開發需要你把資料送進元件中。這些資料可以用來客製化元件,或是把資訊從父元件傳送到子元件。
Angular 使用一個稱為 input 的概念。這與其他框架中的 props 類似。要建立 input 屬性,請使用 input() 函式。
NOTE: 在輸入指南中進一步了解如何以輸入屬性接收資料。
在這個練習中,你將學習如何使用 input() 函式把資訊傳送給元件。
要建立 input 屬性,請把 input() 函式加到元件類別的屬性初始化中:
user.ts
class User {
occupation = input<string>();
}
當你準備透過 input 傳入值時,可以在範本中使用特性語法來設定值。範例如下:
app.ts
@Component({
...
template: `<app-user occupation="Angular Developer"></app-user>`
})
export class App {}
input 函式會回傳一個 InputSignal。你可以呼叫這個訊號來讀取它的值。
user.ts
@Component({
...
template: `<p>The user's occupation is {{occupation()}}</p>`
})
-
定義
input()屬性更新
user.ts中的程式碼,在User上定義一個名為name的input屬性,並指定string型別。目前先不要設定初始值,並在不帶引數的情況下呼叫input()。別忘了更新範本,在句子結尾呼叫並插值name屬性。 -
把值傳給
input屬性更新
app.ts中的程式碼,傳入name屬性,值為"Simran"。程式碼成功更新後,應用程式會顯示
The user's name is Simran。
這樣固然很好,但這只是元件溝通的其中一個方向。如果你想把資訊和資料從子元件傳送到父元件,該怎麼做呢?查看下一課找答案。
P.S. 你做得很好——繼續前進 🎉