Bu eğitim dersi, bir arayüz oluşturmayı ve onu uygulamanızın bir bileşenine dahil etmeyi gösterir.
Neler öğreneceksiniz
- Uygulamanızda veri türü olarak kullanabileceği yeni bir arayüz var.
- Uygulamanızda örnek verilerle yeni arayüzün bir örneği var.
Arayüzlerin kavramsal önizlemesi
Arayüzler uygulamanız için özel veri türleridir.
Angular, güçlü tip denetimi olan bir programlama ortamında çalışmanın avantajlarından yararlanmak için TypeScript kullanır. Güçlü tip denetimi, uygulamanızdaki bir öğenin başka bir öğeye yanlış biçimlendirilmiş veri göndermesi olasılığını azaltır. Bu tür tip uyumsuzluğu hataları TypeScript derleyicisi tarafından yakalanır ve bu tür hataların çoğu IDE'nizde de yakalanabilir.
Bu derste, tek bir konut konumu hakkındaki verileri temsil eden özellikleri tanımlamak için bir arayüz oluşturacaksınız.
-
Yeni bir Angular arayüzü oluşturun
Bu adım, uygulamanızda yeni bir arayüz oluşturur.
IDE'nizin Terminal bölmesinde:
Proje dizininizde,
first-appdizinine gidin.first-appdizininde, yeni arayüzü oluşturmak için bu komutu çalıştırın.ng generate interface housinglocationUygulamayı derlemek ve
http://localhost:4200adresinde sunmak içinng servekomutunu çalıştırın.Bir tarayıcıda, uygulamanızı görmek için
http://localhost:4200adresini açın.Uygulamanın hatasız derlendiğini doğrulayın. Bir sonraki adıma geçmeden önce tüm hataları düzeltin.
-
Yeni arayüze özellikler ekleyin
Bu adım, uygulamanızın bir konut konumunu temsil etmesi için gereken özellikleri arayüze ekler.
IDE'nizin Terminal bölmesinde, uygulamayı derlemek ve
http://localhost:4200adresinde sunmak içinng servekomutunu başlatın (zaten çalışmıyorsa).IDE'nizin Edit bölmesinde,
src/app/housinglocation.tsdosyasını açın.housinglocation.tsdosyasında, yeni arayüzünüzün bu örnekle eşleşmesi için varsayılan içeriği aşağıdaki kodla değiştirin.Update src/app/housinglocation.ts to match this code
export interface HousingLocationInfo { id: number; name: string; city: string; state: string; photo: string; availableUnits: number; wifi: boolean; laundry: boolean; }Değişikliklerinizi kaydedin ve uygulamanın herhangi bir hata görüntülemediğini doğrulayın. Bir sonraki adıma geçmeden önce tüm hataları düzeltin.
Bu noktada, bir
id,nameve konum bilgileri dahil olmak üzere bir konut konumu hakkındaki verileri temsil eden bir arayüz tanımladınız. -
Uygulamanız için bir test evi oluşturun
Bir arayüzünüz var, ancak henüz kullanmıyorsunuz.
Bu adımda, arayüzün bir örneğini oluşturacak ve ona bazı örnek veriler atayacaksınız. Bu örnek verilerin uygulamanızda henüz görünmeyeceğini göreceksiniz. Bunun gerçekleşmesi için tamamlanması gereken birkaç ders daha var.
IDE'nizin Terminal bölmesinde, uygulamayı derlemek ve
http://localhost:4200adresinde sunmak içinng servekomutunu çalıştırın (zaten çalışmıyorsa).IDE'nizin Edit bölmesinde,
src/app/home/home.tsdosyasını açın.src/app/home/home.tsdosyasında,Home'un yeni arayüzü kullanabilmesi için mevcutimportifadelerinden sonra bu import ifadesini ekleyin.Import Home in src/app/home/home.ts
import {Component} from '@angular/core'; import {HousingLocation} from '../housing-location/housing-location'; import {HousingLocationInfo} from '../housinglocation'; @Component({ selector: 'app-home', imports: [HousingLocation], template: ` <section> <form> <input type="text" placeholder="Filter by city" /> <button class="primary" type="button">Search</button> </form> </section> <section class="results"> <app-housing-location /> </section> `, styleUrls: ['./home.css'], }) export class Home { readonly baseUrl = 'https://angular.dev/assets/images/tutorials/common'; housingLocation: HousingLocationInfo = { id: 9999, name: 'Test Home', city: 'Test city', state: 'ST', photo: `${this.baseUrl}/example-house.jpg`, availableUnits: 99, wifi: true, laundry: false, }; }src/app/home/home.tsdosyasında, bileşende yeni arayüzün tek bir örneğini oluşturmak için boşexport class Home {}tanımını bu kodla değiştirin.Add sample data to src/app/home/home.ts
import {Component} from '@angular/core'; import {HousingLocation} from '../housing-location/housing-location'; import {HousingLocationInfo} from '../housinglocation'; @Component({ selector: 'app-home', imports: [HousingLocation], template: ` <section> <form> <input type="text" placeholder="Filter by city" /> <button class="primary" type="button">Search</button> </form> </section> <section class="results"> <app-housing-location /> </section> `, styleUrls: ['./home.css'], }) export class Home { readonly baseUrl = 'https://angular.dev/assets/images/tutorials/common'; housingLocation: HousingLocationInfo = { id: 9999, name: 'Test Home', city: 'Test city', state: 'ST', photo: `${this.baseUrl}/example-house.jpg`, availableUnits: 99, wifi: true, laundry: false, }; }home.tsdosyanızın bu örnekle eşleştiğini doğrulayın.src/app/home/home.ts
import {Component} from '@angular/core'; import {HousingLocation} from '../housing-location/housing-location'; import {HousingLocationInfo} from '../housinglocation'; @Component({ selector: 'app-home', imports: [HousingLocation], template: ` <section> <form> <input type="text" placeholder="Filter by city" /> <button class="primary" type="button">Search</button> </form> </section> <section class="results"> <app-housing-location /> </section> `, styleUrls: ['./home.css'], }) export class Home { readonly baseUrl = 'https://angular.dev/assets/images/tutorials/common'; housingLocation: HousingLocationInfo = { id: 9999, name: 'Test Home', city: 'Test city', state: 'ST', photo: `${this.baseUrl}/example-house.jpg`, availableUnits: 99, wifi: true, laundry: false, }; }HomesınıfınaHousingLocationtüründehousingLocationözelliğini ekleyerek, verinin arayüzün tanımına uyduğunu doğrulayabilirsiniz. Eğer veri arayüzün tanımını karşılamazsa, IDE size faydalı hatalar verecek kadar bilgiye sahiptir.Değişikliklerinizi kaydedin ve uygulamanın herhangi bir hatası olmadığını doğrulayın. Tarayıcıyı açın ve uygulamanızın hala "housing-location works!" mesajını görüntülediğini doğrulayın.
Bir sonraki adıma geçmeden önce tüm hataları düzeltin.
SUMMARY: Bu derste, uygulamanız için yeni bir veri türü oluşturan bir arayüz oluşturdunuz.
Bu yeni veri türü, HousingLocation verisinin gerekli olduğu yerleri belirtmenizi mümkün kılar.
Bu yeni veri türü ayrıca IDE'nizin ve TypeScript derleyicisinin, HousingLocation verisinin gerekli olduğu yerlerde kullanılmasını sağlamasını mümkün kılar.
Bu derste ele alınan konular hakkında daha fazla bilgi için: