var { name, surname, age } = myUser
, то это было бы реальной ошибкой: ты неявно бы менял name окна, но для const это не актуально.:root
$basewidth: 960px
а, очевидно,:root
$basewidth: 960px
:root
$basewidth: 960px
div
width: $basewidth
:root
$basewidth: 960px
div
width: $basewidth
import getPRoducts
напиши const getPRoducts = async () => {
return [1, 2, 3]
}
и сможешь в этом убедиться.function setValue(element, value, options) {
if(typeof element === 'string')
element = document.querySelector(element);
options = Object.assign({
bubbles: true
}, options);
element.dispatchEvent(new MouseEvent('mousedown', options));
element.dispatchEvent(new MouseEvent('mouseup', options));
element.dispatchEvent(new MouseEvent('click', options));
element.dispatchEvent(new Event('focus', options));
element.dispatchEvent(new Event('keydown', options));
element.dispatchEvent(new Event('keypress', options));
element.value = value;
element.dispatchEvent(new Event('input', options));
element.dispatchEvent(new Event('keyup', options));
element.dispatchEvent(new Event('change', options));
setTimeout(() => element.dispatchEvent(new Event('blur', options)));
return element;
}
setValue('input[name="email"]', 'новое_значение@example.com')
v-for="(item, index) in currentPageSortedList"
data: {
list: [...bread[0]], // или просто bread? х.з. не ясно, что там
// ...
},
computed: {
sortedList() {
const sort = {
"По популярности": "changePopular",
"По возрастанию цены": "changePlus",
"По уменьшению цены": "changeMinus",
"Сначала обсуждаемые": "changeDiscussed",
"Сначала с лучшей оценкой": "changeBest"
}[this.selected];
// лишний slice здесь для того чтобы клонировать массив
// т.к. sort мутирует исходный
return sort ? this.list.slice().sort(this[sort]) : this.list;
},
currentPageSortedList() {
const perPage = 6;
const position = this.currentPage * perPage;
return this.sortedList.slice(position, position + perPage);;
},
// ...
},
watch: {
// при смене выбора скидываем на первую страницу
selected() {
this.currentPage = 0;
}
}
const uniq = (value, index, array) => !array.includes(value, index + 1);
[1, 2, 2, 3, 3, 3].filter(uniq) // [1, 2, 3]
/** @type {Array<ReturnType<typeof createElement>>} */
и оно заработает. Но никаких долговременных гарантий. @mouseout
или @mouseleave
должны сопровождаться @focusout
или @blur
для доступности. @mouseover
, @mouseenter
или @hover
должны сопровождаться @focusin
или @focus
для доступности. @mouseenter
нам может понадобится @focusin
, если нам это советует правило по доступности? Думай, думай...@focus
и @focusin
? {{Route('ChangeLanguage', N)}}
? /en
и /tr
то у тебя будет открываться собственно та версия, которая сохранена в закладках\истории, а не так которая была выбрана.selectLang.selectedIndex = localStorage.getItem(storageKey);
вызовет change
автоматически - это не так, программная смена не вызывает событий.</div>
в <template>
.v-on: mouseover="out"
должно быть слитно v-on:mouseover="out"
.data
, methоds
висят в воздухе.<styles>
, а <style>
причём судя по вложенности не просто <style>
, который ожидает обычный css, а <style lang="scss">
.out
и select
.<a>
href="#"
или, лучше, v-on:click.prevent
из-за чего клик по ссылке открывает новую вкладку. А ещё лучше - не использовать <a>
не для сссылок.one
- стока, то назначался класс из этой строки, а не класс .one
, в таком случае выглядеть это должно так: v-bind:class="[one, { stels: stels }]"
или, хуже, v-bind:class="{ [one]: one, stels: stels }"
.