width
задаётся в неких единицах измерения, а offsetWidth
возвращает просто число: border.style.width = link.offsetWidth + 'px';
let link = document.querySelector('#link');
let border = document.querySelector('#border');
new ResizeObserver(() => border.style.width = link.offsetWidth + 'px').observe(link);
document.activeElement
.function onInputFocus(){
console.log(this)
}
var inputs = document.getElementsByTagName('input');
for(var i = inputs.length; i--;)
inputs[i].addEventListener('focus', onInputFocus);
или, если нужна поддержка динамически добавленного: document.addEventListener('focus', function(event){
var target = event.target;
if(!target || target.tagName !== 'INPUT') return;
console.log(target)
}, true)
Weekday2s.mon === 0
. Если нужны в enum именно строки - то именно строки и следует задавать: enum Weekdays { mon = "mon", ...}
Ну кроме того что enum скомпилируется в JS - объект, а type будет доступен только во времени компиляции.
ref
и передать в другой компонент через props
. Только "передавать методы" - не по идеологии Vue.$emit
) а вышестоящий компонент оное поймать(@event
) и выполнить нужное действие.provide
) общий для всех детей объект, которые будут его у себя получать(inject
) и пользоваться совместно. '0'
у undefined
значения, очевидно. В ошибке всё написано.'0'.
Нашли? undefined
). А уж разобраться почему он отсутствует - ваша задача.response.items[0]
items
отсутствует в response
items
из сырого необработанного Response
.let func = eval(userfunc);
func.call(arg);
let func = new Function('return ' + userfunc)();
func.call(arg);
let funcs = {
func1(){console.log('Функция вызвана!!!');};
};
funcs[userfunc].call(arg);
===
точное сравнение с учётом типа. clientWidth
- число, '769'
- строка, число никогда не равно строке. Уберите кавычки.clientWidth
точно будет равно числу с правой стороны. Вы уверены, что это именно то, что вам нужно? Возможно стоит использовать >=
или <=
?function get(value, str) {
for(const key of str.split('.')) {
if(value && key in value) value = value[key];
else return void 0;
}
return value;
}
arr.slice().sort((a,b) => get(b,proper) - get(a,proper));
mount
- не асинхроный(как и все vue-хуки), компоненты не ждут друг друга и рисуются когда того требует логика отображаения.