Rumah hujung hadapan web tutorial js 详解Angular4的输入属性与输出属性

详解Angular4的输入属性与输出属性

Dec 12, 2017 am 10:51 AM
harta benda keluaran

本文主要介绍了Angular4的输入属性与输出属性,结合实例形式详细分析了Angular4输入属性与输出属性的概念、功能及相关使用技巧,需要的朋友可以参考下,希望能帮助到大家。

Angular4输入属性

输入属性通常用于父组件向子组件传递信息

举个栗子:我们在父组件向子组件传递股票代码,这里的子组件我们叫它app-order

首先在app.order.component.ts中声明需要由父组件传递进来的值

order.component.ts


...
@Input()
stockCode: string
@Input()
amount: string
...
Salin selepas log masuk


order.component.html


<p>这里是子组件</p>
<p>股票代码为{{stockCode}}</p>
<p>股票总数为{{amount}}</p>
Salin selepas log masuk


然后我们需要在父组件(app.component)中向子组件传值

app.component.ts


...
stock: string
...
Salin selepas log masuk


app.component.html


<input type="text" placeholder="请输入股票代码" [(ngModel)]="stock">
<app-order [stockCode]="stock" [amount]="100"></app-order>
Salin selepas log masuk


这里我们使用了Angular的双向数据绑定,将用户输入的值和控制器中的stock进行绑定。然后传递给子组件,子组件接收后在页面显示。

Angular4输出属性

当子组件需要向父组件传递信息时需要用到输出属性。

举个栗子:当我们从股票交易所获得股票的实时价格时,希望外部也可以得到这个信息。为了方便,这里的实时股票价格我们通过一个随机数来模拟。这里的子组件我们叫它app.price.quote

使用EventEmitter从子组件向外发射事件

price.quote.ts


export class PriceQuoteComponent implements OnInit{
 stockCode: string = 'IBM';
 price: number;
 //使用EventEmitter发射事件
 //泛型是指往外发射的事件是什么类型
 //priceChange为事件名称
 @Output()
 priceChange:EventEmitter<PriceQuote> = new EventEmitter();
 constructor(){
  setInterval(() => {
   let priceQuote = new PriceQuote(this.stockCode, 100*Math.random());
   this.price = priceQuote.lastPrice;
   //发射事件
   this.priceChange.emit(priceQuote);
  })
 }
 ngInit(){
 }
}
//股票信息类
//stockCode为股票代码,lastPrice为股票价格
export class PriceQuote{
 constructor(public stockCode:string,
    public lastPrice:number
 )
}
Salin selepas log masuk


price.quote.html


<p>
 这里是报价组件
</p>
<p>
 股票代码是{{stockCode}}
</p>
<p>
 股票价格是{{price | number:'2.2-2'}}
</p>
Salin selepas log masuk


接着我们在父组件中接收事件

app.component.html


<app-price-quote (priceChange)="priceQuoteHandler($event)"></app-price-quote>
<p>
 这是在报价组件外, 股票代码是{{priceQuote.stokcCode}},
 股票价格是{{priceQuote.lastPrice | number:'2.2-2'}}
</p>
Salin selepas log masuk


事件绑定和原生的事件绑定是一样的,都是将事件名称放在()中。

app.component.ts


export class AppComponent{
 priceQuote:PriceQuote = new PriceQuote('', 0);
 priceQuoteHandler(event:PriceQuote){
  this.priceQuote = event;
 }
}
Salin selepas log masuk


这里的event类型就是子组件传递事件的类型。

简单的说,就是子组件通过emit发射事件priceChange,并将值传递出来,父组件在使用子组件时会触发priceChange事件,接收到值。

相关推荐:

Angular4中项目的准备和环境搭建操作

Angular4中如何显示内容的CSS样式示例代码

Angular4中路由Router类的实例详解

Atas ialah kandungan terperinci 详解Angular4的输入属性与输出属性. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1662
14
Tutorial PHP
1262
29
Tutorial C#
1235
24
Bagaimana untuk mendapatkan sifat literal integer dalam Python tanpa SyntaxError? Bagaimana untuk mendapatkan sifat literal integer dalam Python tanpa SyntaxError? Aug 20, 2023 pm 07:13 PM

Togetintlitteralattribute insteadofSyntaxRalat,useaspaceorparenthesis.TheintliteralisapartifNumericLiteralsinPython.NumericLiteralsaljuga termasuk yang berikut-empat jenis angka yang berbeza−int(tandatanganinteger)−Mereka selalunya dipanggil justintegersorints,

Bagaimana untuk menamakan semula sifat JSON menggunakan Gson di Java? Bagaimana untuk menamakan semula sifat JSON menggunakan Gson di Java? Aug 27, 2023 pm 02:01 PM

Anotasi Gson@SerializedName boleh disirikan kepada JSON dan mempunyai nilai nama yang diberikan sebagai nama medannya. Anotasi ini boleh mengatasi mana-mana FieldNamingPolicy, termasuk dasar penamaan medan lalai yang mungkin telah ditetapkan pada tika Gson. Strategi penamaan yang berbeza boleh ditetapkan menggunakan kelas GsonBuilder. Syntax@Retention(value=RUNTIME)@Target(value={FIELD,METHOD})public@interfaceSerializedNameContoh importcom.google.gson.annotations.*;

Fungsi dir() Python: Lihat sifat dan kaedah objek Fungsi dir() Python: Lihat sifat dan kaedah objek Nov 18, 2023 pm 01:45 PM

Fungsi dir() Python: Lihat sifat dan kaedah objek, contoh kod khusus diperlukan. Salah satu fungsi yang sangat berguna ialah fungsi dir(), yang membolehkan kita melihat sifat dan kaedah sesuatu objek. Artikel ini akan memperkenalkan penggunaan fungsi dir() dan menunjukkan fungsi serta penggunaannya melalui contoh kod tertentu. Teks: Fungsi dir() Python ialah fungsi terbina dalam.

Apa yang perlu dilakukan jika sifat cakera Win11 tidak diketahui Apa yang perlu dilakukan jika sifat cakera Win11 tidak diketahui Jul 03, 2023 pm 04:17 PM

Apakah yang perlu saya lakukan jika sifat cakera Win11 tidak diketahui? Baru-baru ini, pengguna Win11 mendapati bahawa sistem menyebabkan ralat cakera semasa menggunakan komputer mereka. Dan bagaimana untuk menyelesaikannya? Ramai rakan tidak tahu bagaimana untuk beroperasi secara terperinci Editor telah menyusun langkah-langkah untuk menyelesaikan ralat cakera Win11 di bawah Jika anda berminat, ikuti editor untuk membaca di bawah. Langkah-langkah untuk menyelesaikan ralat cakera Win11 1. Mula-mula, tekan kombinasi kekunci Win+E pada papan kekunci, atau klik Penjelajah Fail pada bar tugas 2. Dalam bar sisi kanan Penjelajah Fail, cari bahagian tepi dan klik kanan setempat; cakera (C :), dalam item menu yang terbuka, pilih Properties 3. Local disk (C:) Properties window, tukar ke Tools

Kaedah dan contoh menambah atribut secara dinamik menggunakan fungsi Vue.set Kaedah dan contoh menambah atribut secara dinamik menggunakan fungsi Vue.set Jul 24, 2023 pm 07:22 PM

Kaedah dan contoh menggunakan fungsi Vue.set untuk menambahkan sifat secara dinamik Dalam Vue, jika kita ingin menambah sifat secara dinamik pada objek sedia ada, kita biasanya menggunakan fungsi Vue.set. Fungsi Vue.set ialah kaedah global yang disediakan oleh Vue.js, yang boleh memastikan kemas kini responsif apabila menambah sifat. Artikel ini akan memperkenalkan penggunaan Vue.set dan memberikan contoh khusus. Pertama sekali, dalam Vue, kami biasanya menggunakan pilihan data untuk mengisytiharkan data responsif.

Pengenalan kepada sifat-sifat Benang Keputusasaan Hearthstone Pengenalan kepada sifat-sifat Benang Keputusasaan Hearthstone Mar 20, 2024 pm 10:36 PM

Thread of Despair ialah kad yang jarang ditemui dalam karya agung Blizzard Entertainment "Hearthstone" dan berpeluang untuk diperolehi dalam pek kad "Wizbane's Workshop". Boleh menggunakan 100/400 mata habuk misteri untuk mensintesis versi biasa/emas. Pengenalan kepada sifat-sifat Thread of Despair Hearthstone: Ia boleh diperolehi dalam pek kad bengkel Wizbane dengan peluang, atau ia juga boleh disintesis melalui habuk misteri. Jarang: Jenis Jarang: Kelas Ejaan: Death Knight Mana: 1 Kesan: Memberi semua minion Deathrattle: Menawarkan 1 kerosakan kepada semua minion

Cara untuk mengeluarkan teks dengan pemisah baris dalam bahasa Go Cara untuk mengeluarkan teks dengan pemisah baris dalam bahasa Go Mar 15, 2024 pm 04:15 PM

Bahasa Go ialah bahasa pengaturcaraan moden, cekap dan ringkas yang digunakan secara meluas dalam pembangunan perisian dalam pelbagai bidang. Dalam bahasa Go, mengeluarkan teks dengan baris baharu adalah sangat mudah dan boleh dicapai dengan menggunakan fungsi Println yang disediakan oleh pakej fmt. Di bawah ini kami akan memperkenalkan secara terperinci cara mengeluarkan teks dengan pemisah baris dalam bahasa Go, serta contoh kod yang berkaitan. Dalam bahasa Go, jika anda ingin mengeluarkan teks dengan baris baharu, anda boleh menggunakan fungsi Println yang disediakan oleh pakej fmt. Fungsi Println akan mengeluarkan teks masuk

sintaks atribut bawah dalam CSS sintaks atribut bawah dalam CSS Feb 21, 2024 pm 03:30 PM

Contoh sintaks atribut dan kod bawah dalam CSS Dalam CSS, atribut bawah digunakan untuk menentukan jarak antara elemen dan bahagian bawah bekas. Ia mengawal kedudukan elemen berbanding bahagian bawah elemen induknya. Sintaks atribut bawah adalah seperti berikut: elemen{bottom:value;} dengan elemen mewakili elemen yang gaya akan digunakan dan nilai mewakili nilai bawah yang akan ditetapkan. nilai boleh menjadi nilai panjang tertentu, seperti piksel

See all articles