Проблема в том, что проект должен быть перенесен в Nuxt, а часть кода не работает. А именно, размер экрана должен выполнять действия с текстом. Поскольку Nuxt является SSR, код не может быть выполнен на стороне сервера, поскольку он не знает размер окна.
Можно ли как-то реализовать эту идею, чтобы все работало?
У меня есть проект с nuxt и i18n
[nuxt] Error while initializing app DOMException: Failed to execute 'appendChild' on 'Node': This node type does not support this method.
at Object.Je [as appendChild]
это мой компонент vue
Этот код является примером того, что вызывает ошибку.
<template>
<section>
<div>
<h2 class="subtitle" v-html="filterHeadSlogan"></h2>
</div>
</section>
</template>
<script>
export default {
name: 'testapp',
data() {
return {
filterHeadSlogan: '',
windowWidth: 0
}
},
methods: {
getWindowWidth(event) {
this.windowWidth = document.documentElement.clientWidth
var str = "<i>HELLO WORLD</i>"
if (this.windowWidth >= 960) {
this.filterHeadSlogan = str
} else {
this.filterHeadSlogan = str.replace(/<\/?[^>]+(>|$)/g, '')
}
}
},
mounted() {
this.$nextTick(function () {
window.addEventListener('resize', this.getWindowWidth);
//Init
this.getWindowWidth()
})
}
}
</script>