Bu eğitim dersi, Angular uygulamanız için nasıl yeni bir bileşen oluşturacağınızı gösterir.
Neler öğreneceksiniz
Uygulamanızda yeni bir bileşen var: Home.
Angular bileşenlerinin kavramsal önizlemesi
Angular uygulamaları, Angular'ın yapı taşları olan bileşenler etrafında oluşturulur. Bileşenler, uygulamadaki bir öğenin işlevini ve görünümünü sağlayan kodu, HTML düzenini ve CSS stil bilgilerini içerir. Angular'da bileşenler başka bileşenler içerebilir. Bir uygulamanın işlevleri ve görünümü bileşenlere bölünebilir ve parçalanabilir.
Angular'da bileşenler, özelliklerini tanımlayan meta verilere sahiptir.
Home bileşeninizi oluştururken şu özellikleri kullanırsınız:
selector: Angular'ın şablonlarda bileşene nasıl başvurduğunu tanımlar.standalone: bileşenin birNgModulegerektirip gerektirmediğini tanımlar.imports: bileşenin bağımlılıklarını tanımlar.template: bileşenin HTML işaretlemesini ve düzenini tanımlar.styleUrls: bileşenin kullandığı CSS dosyalarının URL'lerini bir dizi içinde listeler.
-
Homebileşenini oluşturunBu adımda, uygulamanız için yeni bir bileşen oluşturursunuz.
IDE'nizin Terminal bölmesinde:
Proje dizininizde,
first-appdizinine gidin.Yeni bir
Homebileşeni oluşturmak için bu komutu çalıştırınng generate component homeUygulamanızı derlemek ve sunmak için bu komutu çalıştırın.
NOTE: Bu adım yalnızca yerel ortamınız içindir!
ng serveBir tarayıcı açın ve uygulamayı bulmak için
http://localhost:4200adresine gidin.Uygulamanın hatasız derlendiğini doğrulayın.
HELPFUL: Yeni bir bileşen eklemiş olsanız bile, henüz uygulamanın şablonlarından hiçbirine dahil etmediğiniz için önceki dersteki gibi görünmesi gerekir.
Sonraki adımları tamamlarken
ng servekomutunu çalışır durumda bırakın.
-
Yeni bileşeni uygulamanızın düzenine ekleyin
Bu adımda, yeni bileşen
Home'u, uygulamanızın kök bileşeniApp'e eklersiniz, böylece uygulamanızın düzeninde görüntülenir.IDE'nizin Edit bölmesinde:
Editörde
app.tsdosyasını açın.app.tsdosyasında, bu satırı dosya düzeyindeki import'lara ekleyerekHome'u içe aktarın.Import Home in src/app/app.ts
import {Component} from '@angular/core'; import {Home} from './home/home'; @Component({ selector: 'app-root', imports: [Home], template: ` <main> <header class="brand-name"> <img class="brand-logo" src="/public/logo.svg" alt="logo" aria-hidden="true" /> </header> <section class="content"> <app-home /> </section> </main> `, styleUrls: ['./app.css'], }) export class App { title = 'homes'; }app.tsdosyasında,@Componentiçindekiimportsdizi özelliğini güncelleyin veHome'u ekleyin.Replace in src/app/app.ts
import {Component} from '@angular/core'; import {Home} from './home/home'; @Component({ selector: 'app-root', imports: [Home], template: ` <main> <header class="brand-name"> <img class="brand-logo" src="/public/logo.svg" alt="logo" aria-hidden="true" /> </header> <section class="content"> <app-home /> </section> </main> `, styleUrls: ['./app.css'], }) export class App { title = 'homes'; }app.tsdosyasında,@Componentiçindekitemplateözelliğini aşağıdaki HTML kodunu içerecek şekilde güncelleyin.Replace in src/app/app.ts
import {Component} from '@angular/core'; import {Home} from './home/home'; @Component({ selector: 'app-root', imports: [Home], template: ` <main> <header class="brand-name"> <img class="brand-logo" src="/public/logo.svg" alt="logo" aria-hidden="true" /> </header> <section class="content"> <app-home /> </section> </main> `, styleUrls: ['./app.css'], }) export class App { title = 'homes'; }Değişikliklerinizi
app.tsdosyasına kaydedin.ng serveçalışıyorsa, uygulama güncellenmelidir.ng serveçalışmıyorsa, tekrar başlatın. Uygulamanızdaki Hello world metni,Homebileşeninden gelen home works! metniyle değişmelidir.Tarayıcıda çalışan uygulamayı kontrol edin ve uygulamanın güncellendiğini doğrulayın.
-
Homebileşenine özellikler ekleyinBu adımda
Home'a özellikler eklersiniz.Önceki adımda, varsayılan
Homebileşenini uygulamanızın şablonuna eklediniz, böylece varsayılan HTML'si uygulamada göründü. Bu adımda, ilerideki bir derste kullanılacak olan bir arama filtresi ve düğmesi eklersiniz. Şimdilik,Homesadece bunlara sahip. Bu adımın yalnızca arama öğelerini düzene eklediğini, henüz herhangi bir işlevsellik sağlamadığını unutmayın.Başlangıç uygulamasını indirmek yerine yeni bir Angular projesinden başladıysanız (ng new): arama düğmesi ve giriş kenarlığının görünür olması için bu genel stilleri
src/styles.cssdosyasına ekleyin::root { --primary-color: #605DC8; --secondary-color: #8B89E6; --accent-color: #e8e7fa; --shadow-color: #E8E8E8; } button.primary { padding: 10px; border: solid 1px var(--primary-color); background: var(--primary-color); color: white; border-radius: 8px; }IDE'nizin Edit bölmesinde:
first-appdizininde, editördehome.tsdosyasını açın.home.tsdosyasında,@Componentiçindekitemplateözelliğini bu kodla güncelleyin.Replace in src/app/home/home.ts
import {Component} from '@angular/core'; @Component({ selector: 'app-home', template: ` <section> <form> <input type="text" placeholder="Filter by city" /> <button class="primary" type="button">Search</button> </form> </section> `, styleUrls: ['./home.css'], }) export class Home {}Ardından, editörde
home.cssdosyasını açın ve içeriği bu stillerle güncelleyin.NOTE: Tarayıcıda, bunlar
src/app/home/home.tsdosyasındakistylesdizisine eklenebilir.Replace in src/app/home/home.css
.results { display: grid; column-gap: 14px; row-gap: 14px; grid-template-columns: repeat(auto-fill, minmax(400px, 400px)); margin-top: 50px; justify-content: space-around; } input[type="text"] { border: solid 1px var(--primary-color); padding: 10px; border-radius: 8px; margin-right: 4px; display: inline-block; width: 30%; } button { padding: 10px; border: solid 1px var(--primary-color); background: var(--primary-color); color: white; border-radius: 8px; } @media (min-width: 500px) and (max-width: 768px) { .results { grid-template-columns: repeat(2, 1fr); } input[type="text"] { width: 70%; } } @media (max-width: 499px) { .results { grid-template-columns: 1fr; } }Uygulamanın hatasız derlendiğini doğrulayın. Uygulamanızda filtre sorgu kutusunu ve düğmeyi bulmalı ve bunların stillendirilmiş olması gerekir. Bir sonraki adıma geçmeden önce tüm hataları düzeltin.
SUMMARY: Bu derste, uygulamanız için yeni bir bileşen oluşturdunuz ve ona bir filtre düzenleme kontrolü ve düğme eklediniz.
Bu derste ele alınan konular hakkında daha fazla bilgi için: