dangerouslySetInnerHTML
то предварительно её почистить можно так:function removeStyles(html) {
const container = document.createElement('div');
container.innerHTML = html;
container.querySelectorAll('style').forEach(
style => style.remove()
);
return container.innerHTML;
}
MutationObserver
или банальный setTimeout
. Однако в таком случае стили могут успеть отрисоваться до удаления, из-за чего может происходить мерцание.document.createElement
, отфильтровая ненужный style
. Но всё это уже требует понимания.:) reactive
/ref
объекта, чтоб получить эрзац-стор, тупо: // где-нибудь
export const basket = reactive([]); // или ref([]) по вкусу.
// везде где надо
import { basket } from './...'
store
если можно делать так? Потому что сторы учитывают работу в режиме SSR, а также позволяют удобную отладку в случае множества запутанных связей. store
- только pinia
, а не vuex
. Не вижу причин его не использовать.EventBus
: с одной стороны новичку её использовать категорически не рекомендуется, т.к. работа со store
куда удобнее, очевиднее и надёжнее. Однако и совсем отрицать её использование тоже не следует, шина отлично подходит для случаев когда мы имеем дело именно с событиями, а не изменением состояния. Т.е. послать какой-нить notification или лог - самое оно, использовать для изменения basket
, как в вашем случае - нет. no-cors
на клиенте это не "отключение cors", иначе не было никакого смысла в cors, это метка "мне похрен на ответ, я просто отправляю". Соответственно с такой меткой ты не можешь читать ответ никак.allow-*
заголовков и cors не разрешён. Set-Cookie
ставит, очевидно, cookie
. Напрямую его читать в любом случае нельзя. cookie
HTTP-only
.HTTP-only
куки передаются браузером в запросе самостоятельно, из скрипта к ним доступа нет. Однако он и не нужен. Отправляйте все запросы с credentials: "include"
и значение автоматически будет присутствовать в заголовке Cookie
.. hours
, а h
, исправляешь и не отвлекаешь людей тупыми вопросами.Date
, время исполнения setInterval
может быть изменено со стороны браузера или из-за нагрузки. const myDirective = {
created(el, binding, vnode, prevVnode) {
otherDirective?.created(el, binding, vnode, prevVnode);
...
},
beforeMount(el, binding, vnode, prevVnode) {
otherDirective?.beforeMount(el, binding, vnode, prevVnode);
...
},
....
}
import { useSlots, withDirectives, resolveDirective } from 'vue'
export default {
setup() {
const htmlDirective = {
mounted(el, html) {
el.innerHTML = html.value
}
}
const colorDirective = {
mounted(el, color) {
el.style.color = color.value
}
}
// const someDirective = resolveDirective('some-directive');
const slots = useSlots();
return () => withDirectives(slots.default()[0], [
[htmlDirective, 'some html'],
[colorDirective, 'red'],
])
}
}
<wrapper><some-compnent /></wrapper>
let img = new Image()
// создали Image, пока ничего не происходит
img.src = "path/to/img.jpg"
// установили src - пошла загрузка картинки
ctx.drawImage(img, x, y);
// нарисовали на канвасе сраное ничто
// идёт загрузка картинки
// идёт загрузка картинки
// идёт загрузка картинки
// идёт загрузка картинки
// идёт загрузка картинки
// идёт загрузка картинки
// идёт загрузка картинки
// картинка загрузилась, вызвано событие img.onload
ContextReplacementPlugin
\NormalModuleReplacementPlugin
, чтоб пофиксить пути импорта как вам надо, в т.ч. относительные.alias
вида '@locale': path.resolve(__dirname, `src/${LOCALE}/js/register.js`)
'00:01'
проскакивает между вызовами setInterval
. 1000
в параметрах ничего не гарантирует, перерыв может быть больше - в двух случаях:<script>функция();</script>
, но раз не помогли предыдущие, то и этот не поможет.scoped
стилей: переданный внутрь класс не будет работать сам по себе, т.к. привязан к scope
родительского компонента, придётся использовать псвевдоселектор :deep()
, а это уже чревато коллизиями._next
там где должен быть build
. Возможно одна из переменных окружения у вас кривая, или .env
файл. Если сходу не находится откуда взялся _next
- можно минимально оформатировать в ide уже собранные файлы и поискать в них это _next
, окружающий код скорее всего о чём-нить скажет вам./_next/static/chunks/
- это путь по умолчанию, если нужен иной - следует задать assetPrefix
._next
, а вы её переименовали? docx
явно не входит в стандартный набор форматов для front-end тебе потребуется установить и настроить специальный loader\плагин\asset в зависимости от системы сборки.fetch
.