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-хуки), компоненты не ждут друг друга и рисуются когда того требует логика отображаения.var newArray = [];
for(var i = 0; i < list.length; i++) { // list - твой список ссылок
var link = list[i].href; // если в списке уже строки, а не элементы, то убрать .href
if(link.indexOf('#') === -1) { // если нет # в строке
newArray.push('определенный текст' + link.slice(5)); // берём определенный текст и добавляем к нему строку начиная с 5 символа
}
}
function getScrollPosition (scrollTarget) {
if (scrollTarget === window) {
return window.pageYOffset || window.scrollY || document.body.scrollTop || 0
}
return scrollTarget.scrollTop
}
function setScroll (scrollTarget, offset) {
if (scrollTarget === window) {
window.scrollTo(0, offset)
return
}
scrollTarget.scrollTop = offset
}
function animScrollTo (el, to, duration) {
const pos = getScrollPosition(el)
if (duration <= 0) {
if (pos !== to) {
setScroll(el, to)
}
return
}
requestAnimationFrame(() => {
const newPos = pos + (to - pos) / Math.max(16, duration) * 16
setScroll(el, newPos)
if (newPos !== to) {
animScrollTo(el, to, duration - 16)
}
})
}
animScrollTo(<элемент-контейнер>, <позиция>, <время на анимацию>)
window.location.href = '/personal/';
поставь:setTimeout(function(){ window.location.reload();}, 1000)
Если даже секундная задержка ни на что не повлияет, значит по адресу /personal/
лежит какой-то говнокод, влияющий на авторизацию.window.location.href = '/personal/';
на: window.location.search = Math.random();