MediaRecorder
, сам аудио-поток(stream)
у вас всё ещё захвачен и вы можете слушать его дальше. function stopStream(stream) {
stream.getTracks().forEach(
(track) => track.readyState === 'live' && track.stop()
);
}
window.dataLayer
уже существует.window.dataLayer.push
переопределён или window.dataLayer
является реактивным (vue?) массивом и отслеживает добавления.(что суть одно)push
вызывается некая функция, которая без всяких проверок на то что значение не пустое делает условно так: puhedValue.ecommerce.hasOwnProperty(...)
на чём благополучно и падает.ecommerce: null
, эта хрень ожидает, что ecommerce
будет объектом и никак иначе.null
, что тоже вариант). Что я делаю не так?
notify
которая вернёт инстанс со всем управлением и импортируйте где надо.bus.global.emit("notify", {
msg: "New SMS code Requested, Success",
timer: 30,
uid: '<заданный рукамиидентификатор>'
});
notification.get(uid)
, специально для "сложных" случаев. Но это такое себе. import getPRoducts
напиши const getPRoducts = async () => {
return [1, 2, 3]
}
и сможешь в этом убедиться.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;
}
}
@mouseout
или @mouseleave
должны сопровождаться @focusout
или @blur
для доступности. @mouseover
, @mouseenter
или @hover
должны сопровождаться @focusin
или @focus
для доступности. @mouseenter
нам может понадобится @focusin
, если нам это советует правило по доступности? Думай, думай...@focus
и @focusin
? </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 }"
.v-if="showSwiper"
и переключаете, соответственно, this.showSwiper
. Если v-if="false"
компонент будет разрушен и всё.destroy
, и вам не надо не о чём заботиться. Иногда конечно встречается кривое г-но с текущей памятью, но в таких случях проще самому написать компонент с нуля.