logologo
התחלה
מדריך
פיתוח
תוסף
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
התחלה
מדריך
פיתוח
תוסף
API
logologo
סקירה כללית
הוראות הגדרה

תחביר תבנית

שימוש בסיסי
עיבוד בלולאה

כלי עיצוב

סקירה כללית
עיצוב טקסט
עיצוב מספרים
עיצוב מטבע
עיצוב תאריך
עיצוב מרווח זמן
עיצוב Array

תכונות מתקדמות

בדיקת תנאי
תכונות מתקדמות
שאלות נפוצות
תרחישי שימוש
Previous Pageעיבוד בלולאה
Next Pageסקירה כללית
TIP

מסמך זה תורגם על ידי בינה מלאכותית. לכל אי דיוק, אנא עיין בגרסה האנגלית

#מעצבים (Formatters)

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

#סקירה כללית

#1. הסבר תחבירי

צורת הקריאה הבסיסית למעצב היא כדלקמן:

{d.property:formatter1:formatter2(...)}

לדוגמה, בהמרת המחרוזת "JOHN" ל-"John", המעצב lowerCase משמש תחילה להמרת כל האותיות לאותיות קטנות, ולאחר מכן ucFirst משמש להפיכת האות הראשונה לגדולה.

#2. דוגמה

נתונים:

{
  "name": "JOHN",
  "birthday": "2000-01-31"
}

תבנית:

My name is {d.name:lowerCase:ucFirst}. I was born on {d.birthday:formatD(LL)}.

#3. תוצאה

לאחר הרינדור, הפלט הוא:

My name is John. I was born on January 31, 2000.

#פרמטרים קבועים

#1. הסבר תחבירי

מעצבים רבים תומכים בפרמטרים קבועים אחד או יותר, המופרדים בפסיקים ומוקפים בסוגריים עגולים כדי לשנות את הפלט. לדוגמה, :prepend(myPrefix) יוסיף את "myPrefix" לפני הטקסט.
שימו לב: אם הפרמטר מכיל פסיקים או רווחים, יש להקיף אותו בגרשיים בודדים, לדוגמה: prepend('my prefix').

#2. דוגמה

דוגמת תבנית (ראו את השימוש הספציפי במעצב לפרטים).

#3. תוצאה

הפלט יכלול את הקידומת שצוינה לפני הטקסט.

#פרמטרים דינמיים

#1. הסבר תחבירי

מעצבים תומכים גם בפרמטרים דינמיים. פרמטרים אלה מתחילים בנקודה (.) ואינם מוקפים בגרשיים.
קיימות שתי שיטות לציון פרמטרים דינמיים:

  • נתיב JSON מוחלט: מתחיל ב-d. או c. (מתייחס לנתוני שורש או נתונים משלימים).
  • נתיב JSON יחסי: מתחיל בנקודה בודדת (.), המציינת שהמאפיין נבדק מהאובייקט ההורה הנוכחי.

לדוגמה:

{d.subObject.qtyB:add(d.subObject.qtyC)}

ניתן לכתוב זאת גם כנתיב יחסי:

{d.subObject.qtyB:add(.qtyC)}

אם עליכם לגשת לנתונים מרמה גבוהה יותר (הורה או מעליו), תוכלו להשתמש במספר נקודות:

{d.subObject.qtyB:add(..qtyA):add(.qtyC)}

#2. דוגמה

נתונים:

{
  "id": 10,
  "qtyA": 20,
  "subObject": {
    "qtyB": 5,
    "qtyC": 3
  },
  "subArray": [{
    "id": 1000,
    "qtyE": 3
  }]
}

שימוש בתבנית:

{d.subObject.qtyB:add(d.subObject.qtyC)}      // תוצאה: 8 (5 + 3)
{d.subObject.qtyB:add(.qtyC)}                   // תוצאה: 8
{d.subObject.qtyB:add(..qtyA):add(.qtyC)}        // תוצאה: 28 (5 + 20 + 3)
{d.subArray[0].qtyE:add(..subObject.qtyC)}       // תוצאה: 6 (3 + 3)

#3. תוצאה

הדוגמאות מניבות 8, 8, 28 ו-6 בהתאמה.

שימו לב: שימוש באיטרטורים מותאמים אישית או מסנני מערכים כפרמטרים דינמיים אינו מותר, לדוגמה:

{d.subObject.qtyB:add(..subArray[i].qtyE)}
{d.subObject.qtyB:add(d.subArray[i].qtyE)}