Noty — это гибкая библиотека для уведомлений в JavaScript, позволяющая создавать интерактивные и визуально привлекательные сообщения на веб-странице. Одной из ключевых возможностей является использование шаблонов с переменными, что обеспечивает динамическое формирование контента уведомлений.
textПоле text в конфигурации Noty может принимать
строку или функцию, которая возвращает строку. Для
динамического контента чаще всего применяются шаблонные литералы
ES6:
let userName = "Иван";
let notificationsCount = 5;
new Noty({
type: 'alert',
text: `Привет, ${userName}! У вас ${notificationsCount} новых уведомлений.`,
timeout: 3000
}).show();
Особенности:
${переменная} внутри обратных кавычек
`.${notificationsCount > 0 ? 'Есть новые уведомления' : 'Нет новых уведомлений'}.Noty позволяет передавать функцию в text, что полезно
для отложенной генерации текста:
let messages = ["Сообщение 1", "Сообщение 2", "Сообщение 3"];
new Noty({
type: 'info',
text: function() {
return `Последнее сообщение: ${messages[messages.length - 1]}`;
},
timeout: 4000
}).show();
Преимущества использования функции:
template)Для сложного оформления Noty предоставляет возможность задавать
собственный HTML-шаблон через свойство
template. В этом случае переменные можно вставлять с
помощью Jav * aScript:
let user = { name: "Мария", role: "админ" };
new Noty({
type: 'success',
layout: 'topRight',
template: `
<div class="noty_body">
Пользователь <strong>${user.name}</strong> с ролью <em>${user.role}</em> вошёл в систему.
</div>
`,
timeout: 5000
}).show();
Рекомендации при работе с кастомными шаблонами:
Noty имеет встроенные свойства объекта уведомления, которые можно использовать в шаблоне:
this.options.text — текст уведомления.this.options.type — тип уведомления
(alert, success, error,
info, warning).this.options.timeout — время показа уведомления.this.id — уникальный идентификатор экземпляра.Пример:
new Noty({
type: 'warning',
text: function() {
return `Уведомление #${this.id}: тип - ${this.options.type}`;
},
timeout: 4000
}).show();
Преимущества:
Переменные в шаблонах Noty могут быть объектами или массивами, что упрощает создание динамического списка уведомлений:
let tasks = [
{ title: "Задача 1", deadline: "2026-04-10" },
{ title: "Задача 2", deadline: "2026-04-12" }
];
tasks.forEach(task => {
new Noty({
type: 'info',
text: `Срок выполнения: ${task.title} — ${task.deadline}`,
timeout: 3000
}).show();
});
Преимущества подхода:
Основные правила работы с переменными в Noty:
${}.text.template с подстановкой переменных.this.options,
this.id) позволяют создавать универсальные шаблоны.Эта гибкая система подстановки переменных обеспечивает создание уведомлений, полностью адаптированных под состояние приложения и потребности пользователя.