Vue-FAQ
943 subscribers
583 photos
93 videos
568 links
Канал сайта https://vue-faq.org
Информация о Vue.js, фронтенд разработке и не только

Contacts: @RuslanMakarov
Download Telegram
В JS чтобы выйти из вложенных циклов можно использовать метки

outerLoop: for (let i = 0; i < 5; i++) {
let j = 0;
while (true) {
if (j === 2) {
break outerLoop; // Выходит из внешнего цикла
}
j++;
}
}


И не забываем, что Array.prototype.sort() приводит к строкам. Нужен компаратор.

[10, 2, 1].sort(); // [1, 10, 2] (как строки!)  
[10, 2, 1].sort((a, b) => a - b); // [1, 2, 10] (правильно)


#js #tip
🥴9👍5😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Фронтенд-фреймворки показывают, как они умеют.
На екмаскрипте.

#js #video #offtop
😁7👎2🤡1
Раньше я думал, что JavaScript нужно заменять полностью, но сейчас согласен с Мурычем - достаточно статической типизации примитивов.

Причем, он предлагал "вьюшную" модель - если Ref инициализирован строкой, то и дальше в нем только строки. Так же с переменными по примитивным типам в JS

Cтатическая типизация примитивных типов плюс ES классы решат 95%+ всех проблем без извращений TS

#ts #js #murych
👍16👎1
Для синхронизации или передаче данных между разными вкладками можно использовать LocalStorage

Во Vue можно даже сделать реактивную обертку.

Но можно гораздо проще и эффективней - через Broadcast Channel API. C помощью него можно создавать канал, постить в него сообщения и слушать сообщения приходящие в этот канал.


// Создаем канал
const bc = new BroadcastChannel("share_channel");

// Посылаем сообщение в канал
bc.postMessage("Сообщение какое-то");

// Ловим событие в канале
bc.onmessage = (event) => {
console.log(event);
};


Также postMessage можно использовать для связи открытых окон ( login ) с родительским окном - window.opener.postMessage()

#js
👍14