Локальні та глобальні змінні

Цей документ описує використання локальних змінних в HTML-компонентах та глобальних змінних в проекті.

Глобальні змінні:

Глобальні змінні вказуються в файлі template.config.js в корені проекту, в обєкті HTMLVariables: {}:

Також в файлі vite.config.js вказуються глобальні змінні такі як IS_TAILWIND та IS_DEV які можна доповнювати та використовувати в HTML-компонентах:

// template.config.js

export default {
   ...
   HTMLVariables {
      VERSION: '1.0.0',
      DESCRIPTION: 'Template Project Name',
      HEAD_TITLE: 'My Awesome Site'
      API_URL: 'https://jsonplaceholder.typicode.com/users'
   }
   ...
}

// Використання в будь-якому місці проекту як звичайних пропсів

<head>
   <title>{{HEAD_TITLE}}</title>
   <meta name="description" content="{{DESCRIPTION}}"/>
</head>

<each data="{{API_URL}}" loop="user, index in data">
   <div class="user-card">
      <h2>{{user.name}}</h2>
      <p>{{user.username}}</p>
      <p>{{user.address.street}}</p>
      <p>{{user.email}}</p>
   </div>
</each>

Локальні змінні:

Локальні змінні вказуються в верхній частині файлу компонента в тегу<script define></script> як звичайні JS змінні.

Також локальні змінні можна передавати пропсами в любий компонент що викликається в середині цього компонента.

// template.config.js

<script define>
    const title = 'The Smartest Way to Do Laundry'
    const logo = '@i/logo.svg'
    const subTitle = 'DipDap picks up, cleans, and delivers your laundry & dry cleaning.'
    const contacts = {
       phone: '(800) 555-1212',
       email: 'text@gmail.com',
    }
</script>

<div class="product-card">
    <img src="{{logo}}" alt="{{title}}"/>
    <h2>{{title}}</h2>
    <p>{{subTitle}}</p>
    <ul>
       <li>{{contacts.phone}}</li>
       <li>{{contacts.email}}</li>
    </ul>
</div>