Как использовать angular-expressions без HTML
Всем привет!
Задачка следующая:
есть строка "Hello, {{user.name}}"
Это НЕ html-страница, то есть есть переменная:
let str = "Hello, {{user.name | lower }}. Тебе нужно пойти в {{ place.address }}"
lower - это мой кастомный фильтр для angular-expressions
expressions.filters.lower = function (input) {
if (!input) return input;
return input.toLowerCase();
}
Есть объект:
const data = {
user: {
name: "Виталий"
},
place: {
address: "Уточкина"
}
}
Так вот, как я могу заменить данные плейсхолдеры, чтобы angular-expressions заменил и применил фильтр?
Ответы (1 шт):
Автор решения: Sergey Glazirin
→ Ссылка
Насколько мне известно, ангуляр не поддерживает возможность использовать angular-expressions за пределами шаблонов, по крайней мере, напрямую.
Для того, чтобы применять какие-то функции в строках, можно использовать шаблонные строки.
const name = 'Василий';
const str = `${name}, привет!`;
console.log(str);
const person = {
name: 'Василий',
lastName: 'Петрович',
}
function getFullName(pers) {
return `${pers.name} ${pers.lastName}`;
}
const str2 = `${getFullName(person)}, привет!`;
console.log(str2);