LINUX.ORG.RU

Blazor можно ли навесить обработчик не вмешиваясь в разметку HTML?

 


0

1

Вместо такого кода

<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
@code {
    int currentCount = 0;
    void IncrementCount()
    {
        currentCount++;
    }
}

получить элемент button и с помощью, скажем addEventListener навесить обработчик на событие click в этом же файле(а лучше в отдельном). Или написать document.querySelector(‘button’).onclick… ну вы поняли. Есть такие механизмы, а то все это похоже на стиль «свалка»

web components, custom tags ?

anonymous
()
Ответ на: комментарий от jurgens

Фулстекам по статистике платят в среднем меньше, чем отдельно фронтендерам и бекендерам, а обязанностей у них должно быть больше. Кроме того сам Blazor весьма непопулярен. Так что лучше или прокачиваться как бекендер на C#, или как фронтендер на Ангуляре/Реакте с TypeScript. Кстати Ангуляр — более цельный фреймворк, но сложный, поэтому на нём меньше проектов, но и конкуренции почти никакой. Некоторые проекты с руками и ногами готовы брать ангулярщиков.

static_lab ★★★★★
()
Ответ на: комментарий от static_lab

а во frontend почему на blazor не ставить? Если эта штука взлетит и займет свою нишу то вполне неплохо делать front на .NET. С приходом webassembly можно ли составить конкуренцию JS. Я уверен что и другие языки тоже будут использоваться, возможно на Rust или Go тоже что-то сделают.

jurgens
() автор топика
Ответ на: комментарий от jurgens

вполне неплохо делать front на .NET

А чем неплохо? Только тем, что знакомый язык? Сейчас Blazor реализован как виртуальная машина Mono, запускающаяся в машине WebAssembly. Это вряд ли изменится. Взаимодействие с браузерным API производится через прослойку на JS. В результате у нас только повышается количество абстракций без реального профита.

static_lab ★★★★★
()
Ответ на: комментарий от jurgens

fullstack f# реально при помощи SAFE.

Blazor прикольно, но если брать классический, не websassembly, вариант, то вот этот код

@code { int currentCount = 0; void IncrementCount() { currentCount++; } }

не компилируется в js. клинет blazor посылает события на сервер, сервер отрабатывает код, если надо отрисовывает новые компоненты и отправляет обратно. Я так понимаю на сети с большой латентостью, далеко от сервера или мобильная/спутниковая связь, будет сильно страдать интерактивность.

маркдаун шмаркдаун, как отредактировать сообщение и вставить форматированный код?

swelf
()
Последнее исправление: swelf (всего исправлений: 2)
Ответ на: комментарий от jurgens

Ну для этого нужно ещё в WASM добавить как минимум поддержку GC. Пропозал для него был создан ещё 3 года назад, но до сих пор в Stage 1. Пропозал для DOM вообще ещё не написан. Это на самом деле очень непростая задача, потому что WASM — очень низкоуровневая VM.

static_lab ★★★★★
()
5 октября 2020 г.

можно. или в этом твоем блазере нельзя подключить кастомный жс код из файла или инлайн?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.