У меня есть хитрый макет, который, я считаю, может реагировать только на JavaScript, но мне не удается получить встроенный стиль со связанными данными для достижения этой цели.Вокруг изображения есть элемент-обертка, которым я хочу быть высота изображения плюс 80px
.Для краткости я просто опубликую два элемента, которые мне нужны для совместной работы, и вырежу дополнительную разметку, потому что она не имеет значения.
<v-flex v-resize="onResize" v-bind:style="{height: this.imageHeight}" xs12 md6>
{{this.imageHeight}}
<img src="../assets/images/image1.jpg" alt="image" ref="desktop-image">
</v-flex>
В данных я определяю imageHeight
как 0
всначала с целью обновления этого значения после загрузки страницы или изменения размера экрана.
data () {
return {
imageHeight : 0
}
}
Затем в mounted()
я переопределяю данные imageHeight
как желаемую высоту.
this.imageHeight = this.$refs["desktop-image"].offsetHeight + 80;
Я также включаю это в метод изменения размера.
onResize () {
this.imageHeight = this.$refs["desktop-image"].offsetHeight + 80;
}
После загрузки страницы или изменения размера экрана выводимое мной значение {{this.imageHeight}}
над изображением корректно обновляется, но оно никогда не обновляется в v-bind:style
элемента изображения, поэтому высота остается на уровне0px
.
Как получить данные встроенного стиля для обновления, как это делается в другом месте?