קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
קודקודייל
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
  • קודקודייל
  • מי אתם קודקודייל?
  • קורסים בחינם
  • צרו קשר
  • בניית אתרים
    • וורדפרס
  • נגישות אתרים
  • כל הקטגוריות
    • אנגולר
    • HTML
    • CSS
    • Javascript
    • Typescript
    • NodeJs
    • בלוקציין
ראשי ♦ SEO ♦ SEO| שינוי כותרת של הדף באנגולר

SEO| שינוי כותרת של הדף באנגולר

עידן יצחקי 25 בדצמבר 2020 אין תגובות

אם אין דפים באנגולר (חוץ מאחד) אז איך נשנה את הכותרת של הדף כאשר עוברים בין רכיבים המיצגים דפים שונים או כי סתם בא לנו?

למזלנו כמובן שאנגולר כבר חשב על זה והוא נותן לנו ממשק מאוד פשוט לעשות את זה.

נתחיל בשיטה הקלה והשחורה

import { Component, OnInit } from '@angular/core';
import { Title } from '@angular/platform-browser';

@Component({
  selector: 'app-home',
  templateUrl: './home.component.html',
  styleUrls: ['./home.component.scss']
})
export class HomeComponent implements OnInit {

  constructor(private titleService: Title) { }

  ngOnInit() {
    this.titleService.setTitle('Home');
  }

}

זהו…….!!! יותר קל מזה לא יכול להיות 🙂

כאשר הרכיב הזה יטען הוא ישנה את הכותרת של הדף ל-Home ,

צריך רק לשים את זה בכל רכיב שרוצים שישנה את הכותרת וזה יקרה.

אבל……. לא בשביל זה אנחנו מפתחים ולא בשביל זה אנחנו עובדים עם אנגולר. אם היינו רוצים לעשות עבודה שחורה שחוזרת על עצמה אז היינו נשארים בבסיס (html , js).

אנחנו עברנו לאנגולר כדי לכתוב כמה שפחות ולקבל תוצאות כמה שיותר טובות 🙂 וכאן זה הולך להסתבך קצת, אבל רק קצת.

בקצרה ובמהירות :

נתחיל עם קובץ הניתובים בפרויקט

const routes: Routes = [
  { path: 'home', component: HomeComponent, data: { docTitle: 'Home' } },
  { path: 'about', component: AboutComponent, data: { docTitle: 'About' } },
  { path: '', redirectTo: '/home', pathMatch: 'full' },
  { path: '**', component: HomeComponent }
];

כל ניתוב מעביר מידע שאנחנו נשתמש בו אחרי זה לשינוי הכותרת.

המיקרה הזה home מעביר מישתנה docTitle עם הערך Home.

עכשיו נעבור לדף שמחזיק את כל האתר שלנו:

import { Title } from '@angular/platform-browser';
import { ActivatedRoute, NavigationEnd, Router } from '@angular/router';
import { filter } from 'rxjs/operators';

export class AppComponent implements OnInit {
  baseTitle = 'my Site Name - ';
  constructor(private router: Router, private activatedRoute: ActivatedRoute, private titleService: Title) {
  }
  ngOnInit() {
    this.router.events.pipe(
      filter(event => event instanceof NavigationEnd)
    ).subscribe(() => {
      const childRoute = this.getChild(this.activatedRoute);
      childRoute.data.subscribe(data => {
        this.titleService.setTitle(this.baseTitle + data.docTitle)
      });
    });
  }
  getChild(activatedRoute: ActivatedRoute) {
    if (activatedRoute.firstChild) {
      return this.getChild(activatedRoute.firstChild);
    }
    else {
      return activatedRoute;
    }
  }
}

זהו זה! קצת יותר מסובך אבל כמו שאנחנו אוהבים,

הכל מרוכז במקום אחד ולא מפוזר בכל הרכיבים שלנו בפרויקט.

עכשיו קצת לחפירה

אפשר לראות שיש חלוקה לשתיים:

  1. קובץ הניתוב – הוא הכותב של המידע החדש
  2. קובץ ה-app – הוא קורא כל פעם שיש ניתוב

מה שכתוב בקובץ APP שלנו למעלה עושה דבר פשוט מאוד, הוא נרשם לארועים של הניתוב וכל פעם שיש ניתוב שמעלה ארוע, הרישום מחפש ובודק שהניתוב הסתיים.

כאשר הניתוב הסתיים הוא בודק מה הערך שנשלח בניתוב ב-docTitle מחבר אותו ל- baseTitle (לא חייבים) ודרך titleService של אנגולר עורך את התגית title .

פוסטים קשורים:

תמונת אווירה של תוצאות מנוע חיפושSEO| שינוי Meta tag בהתאם לדף באנגולר תמונת אווירה של חצים לכל הכיווניםבניה של טופס דינמי על פי מידע מהשרת באנגולר סופר מחלףריבוי מודולים באנגולר מיניון מחזיק בננהangular input and output in the same variable
SEO אנגולר

אודות המחבר

עידן יצחקי להציג את כל הפוסטים של עידן יצחקי


« פוסט קודם
פוסט הבא »

השארת תגובה

ביטול

חיפוש באתר
בחירת העורכים
29 בדצמבר 2023 עידן יצחקי

שדה טקסט עשיר עם תמונות

אתם הולכים להיות מופתעים עד כמה HTML יכול להיות חכם ולבצע משהו כל כך מורכב, שאם אנחנו היינו רוצים ליצור

1 באוקטובר 2021 עידן יצחקי

איך למשוך דינמית favicon של אתרים אחרים ב-JS

בפוסט זה נראה איך אפשר על פי לינקים בדף למשוך את ה-favicon מהדומיין שלהם באופן דינמי, בדיקה של תקינות התמונה

פופולרי
Javascript functions – היכרות עם סוגי פונקציות
Javascript
21 בדצמבר 2024 אין תגובות
Nested routing in angular standalone component
Typescript
15 בנובמבר 2024 תגובה אחת
בחרו לפי תגיות
angular blockchain css ethers express front-end fullstack GQL html javascript next js nextjs nodejs react hooks reactjs solidity webgl אנגולר בלוקציין וורדפרס לימודי אנגולר לימודי וורדפרס לימוד ריאקט מדריך front-end מדריך GQL מדריך אנגולר מדריך וורדפרס מדריך חינם react מדריך ריאקט מפתח בלוק מפתח בלוקציין מתכנת front-end מתכנת בלוקציין מתכנת פרונט סולידיטי קורס front end קורס fullstack קורס nextjs קורס אנגולר קורס בלוקציין קורס בלוקציין בחינם קורס סולידיטי קורס ריאקט קורס תכנות קורס תכנות בחינם
סינון על פי קטגוריות
CSS fullstack HTML IIS Javascript nodeJs SEO Typescript אנגולר בלוקציין בניית אתרים וורדפרס חיפוש עבודה כלים נוספים כללי נגישות קורסים ריאקט תלת מימד תקלות ופתרונות
צור קשר
כל הזכויות שמורות לקודקודייל
ליצירת קשר: @ קודקודייל
גלילה לראש העמוד