let count = null;
while (1) {
count = prompt('Введите количество колонок для таблицы умножения') | 0;
if (count > 0) {
break;
}
alert('Введите корректное число');
}
lat + x != 11lon + y != 11
я понял, что нет экшена. Вопрос в том, что он есть )
colorComponents: {
r: 0,
g: 0,
b: 0,
},<div v-for="(v, k) in colorComponents">
{{ k }}
<input v-model="colorComponents[k]" type="range" min="0" max="255">
{{ v }}
</div><div :style="style">computed: {
style() {
return {
'background-color': `rgb(${Object.values(this.colorComponents).join(',')})`,
};
},
},
const itemSelector = '.item';
const activeClass = 'active';
const maxActive = 3;
const onMaxActiveClick = () => alert(`больше ${maxActive} нельзя`);let activeCount = 0;
for (const n of document.querySelectorAll(itemSelector)) {
n.addEventListener('click', onClick);
activeCount += n.classList.contains(activeClass);
}
function onClick({ currentTarget: item }) {
if (activeCount < maxActive || item.classList.contains(activeClass)) {
activeCount += item.classList.toggle(activeClass) ? 1 : -1;
} else {
onMaxActiveClick();
}
}document.addEventListener('click', function(e) {
const item = e.target.closest(itemSelector);
if (item) {
const active = document.querySelectorAll(`${itemSelector}.${activeClass}`);
if (active.length < maxActive || item.classList.contains(activeClass)) {
item.classList.toggle(activeClass);
} else {
onMaxActiveClick();
}
}
});
А можно ли как то прокинуть это событие далее(всплытие), что бы можно было его прослушать на любом компоненте-предке, в том числе и на корневом?
В чем ошибка?
Есть таблица
<...>
Может быть, можно упростить
const getCheckedValues = elements =>
[...elements].reduce((acc, n) => (
n.checked && (acc[n.name] = acc[n.name] || []).push(n.value),
acc
), {});const getCheckedValues = elements =>
Array.prototype.reduce.call(
elements,
(acc, { name, value, checked }) => (
acc[name] = acc[name] || [],
checked && acc[name].push(value),
acc
),
{}
);
const numbers = (string.match(/-?\d+(\.\d+)?/g) || []).map(Number);
// или
const numbers = string.split(' ').map(parseFloat).filter(Number.isFinite);
@mouseenter="showDrop = true"@mouseleave="showDrop = false"data: () => ({
showForm: 'auth',
// ...
}),v-show="showForm === 'auth'", @click="showForm = 'reg'".v-show="showForm === 'reg'", @click="showForm = 'auth'".
Получается, что объявляем две переменных <...> То есть это равносильно