Re[8]: Связи в разметке (на примере HTML)
От: Alekzander  
Дата: 08.12.24 18:57
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Можно примеров? Чтоб элемент действительно был единственным по замыслу, и замысел впоследствии не изменился, однако потребность в создании дополнительных экземпляров таки возникла.


Например, закольцовывание в слайдере, когда из загруженных в него элементов невидимым остаётся один. Как в детской "садюжке": слева пол-Пети и справа пол-Пети

Ты скажешь: "пререндеринг", а я скажу: элементы с видео и с анимациями. Ссылку не дам по соображениям приватности, но пример из жизни.

А так, хорошие примеры, как ни парадоксально, именно мне привести трудно: зная, во что это может вылиться, я принимаю превентивные меры, и спотыкаюсь о такие примеры крайне редко.

ЕМ>Я критиковал не саму идею использования шаблонов, а прежде всего утверждение, что присвоение id любому элементу якобы автоматически делает из него синглон (как концепцию).


Я же, вроде, обосновал?

Вот простой тип по имени template.out-link:

<template class="out-link">
    <a href="{url}" target="_blank" class="text-nowrap out-link {classes}" data-{name}="{value}">
        {text}
        <svg width="16" height="16" class="inline">
            <use href="#bi-box-arrow-up-right"></use>
        </svg>
    </a>
</template>


Вот синглтонный тип по имени template.the-out-link:

<template class="the-out-link">
    <a id="the-link" href="{url}" target="_blank" class="text-nowrap out-link {classes}" data-{name}="{value}">
        {text}
        <svg width="16" height="16" class="inline">
            <use href="#bi-box-arrow-up-right"></use>
        </svg>
    </a>
</template>


Вот инстанцирование:

<!-- Создаём инстанс простого типа -->
<span data-template="template.out-link" data-template-params='{ "text": "popper.js", "url": "https://popper.js.org/" }'></span>

<!-- Создаём инстанс синглтонного типа -->
<span data-template="template.the-out-link" data-template-params='{ "text": "The Google, The great and terrible", "url": "https://google.com/" }'></span>


Что тебя смущает?

То, что вместо проверки компилятором, кому можно инстанцировать, а кому нельзя (обычно так обеспечивается уникальность инстанса: инстанцировать дают доверенному агенту, который по контракту обязывается чекать уникальность), проверка идёт в коде шаблонизации, который чекает уникальность идентификаторов и кидает исключения?

Или то, что код шаблонизации не включён в браузер и его пишет сам программист?

Или то, что ЛЮБОЙ КУСОК HTML'я может быть типом для шаблонизатора (или закольцованного слайдера), и ЛЮБОЙ КУСОК HTML'я может быть инстансом, порождённым шаблонизатором (или закольцованным слайдером)? В этом всё дело? Я бы поставил на этот пункт
I'm a sewer mutant, and my favorite authors are Edgar Allan Poo, H.G. Smells and George R.R. Martin.
Отредактировано 08.12.2024 19:19 Alekzander . Предыдущая версия . Еще …
Отредактировано 08.12.2024 19:01 Alekzander . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.