<link rel="icon" type="image/x-icon" href="/favicon.ico">
<NuxtPage />
и не является проблемой, он внутри себя использует <RouterView />
из vue-router в который добавляется внутренняя логика Nuxt (например добавление Transitions если они указаны в настройках). Anonymous Component на самом деле - компонент RouteProvider
, который занимается перерисовкой страниц. В общем, просто обертка фреймворка для роутинга.select id, name from testtable where trim(replace(Name, char(9), ' ')) like 'S%n';
select id, name from testtable where trim(replace(Name, char(9), ' ')) like '%n';
export default {
data() {
return {
isModalAddVisible: false,
activeId: null,
};
},
watch: {
isModalAddVisible(newValue) {
if (newValue || this.activeId) {
document.body.style.overflow = 'hidden';
} else {
document.body.style.overflow = 'auto';
}
},
activeId(newValue) {
if (this.isModalAddVisible || newValue) {
document.body.style.overflow = 'hidden';
} else {
document.body.style.overflow = 'auto';
}
},
},
};
.no-overflow {
overflow: hidden;
}
mounted() {
this.$watch(
() => this.isModalAddVisible || this.activeId,
val => document.body.classList.toggle('no-overflow', val),
{ immediate: true }
);
},
v-model
, кого показывать в модальном окне - отправляйте наверх эту информацию вместе с событием. Свойство, управляющее видимостью модального окна - пусть оно вместо логического значения хранит id или объект или что там у вас должно показываться в окне, если не null
, значит открываем окно. Вот так всё просто.v-model
, конечно только на уровне таблицы, в строках всё по-прежнему.const arr = [
{id: 1, info: 'some'},
{id: 5, info: 'some'},
{id: 3, info: 'some'},
{id: 9, info: 'some'},
{id: 6, info: 'some'},
];
const findId = (_arr, isNeedToSort) => {
const arr = isNeedToSort ? _arr.slice().sort((a ,b )=> a.id - b.id) : _arr;
for(let i = 0; i < arr.length; i++){
if(i + 1 !== arr[i].id) return i + 1;
}
}
console.log(findId(arr, true))
currentPriority: {
get() {
return this.filterPriorities;
},
set(val) {
this.$emit('update:filterPriorities', val);
},
},
currentStopsId: {
get() {
return this.filterStops;
},
set(val) {
this.$emit('update:filterStops', val);
},
},
// ... предыдущий код
btnSwap.addEventListener('click', function() {
btnSwap.dataset.storage = (btnSwap.dataset.storage === 'local' ? 'api' : 'local');
console.log(btnSwap.dataset.storage);
console.log(btnSwap.dataset);
})
// ... следующий код