やりたいこと
とある画面が描写されるとき、高さが異なるDiv要素DivA
およびDivB
の高さを揃えて表示したい。
ベースHTML
vuejs
1<template> 2 <section> 3 <div name="DivA" ref="divA"> 4 <!-- 色んなコンテンツ:高さ150px程度 --> 5 </div> 6 <div name="DivB" ref="divB"> 7 <!-- 色んなコンテンツ:高さ210px程度 --> 8 </div> 9 </section> 10</template>
試したこと
:style
バインドを使った動的設定その1:
タグに<div name="DivA" :style="searchSectionHeight">
watchイベントのとある部分にthis.searchSectionHeight = '{ height: ' + Math.max(divAHeight,divBHeight) + 'px; }';
→設定されず
:style
バインドを使った動的設定その2:
タグに<div name="DivA" :style="{height:searchSectionHeight+'px'}">
data()にsearchSectionHeight:0
watchイベントのとある部分にthis.searchSectionHeight = Math.max(divAHeight,divBHeight)
→初期値が0なので高さが取れず、結果的にどちらも表示されなくなる
$ref
で取り出したDOM要素に直接セットとか?その1
this.$refs.divA.clientHeight = this.$refs.divB.clientHeight;
→ReadOnlyプロパティと怒られる
$ref
で取り出したDOM要素に直接セットとか?その2
this.$set(this.$refs.divA,'style','{ height: ' + Math.max(divAHeight,divBHeight) + 'px; }');
→設定されず
- 上記以外にも細かく色々試しましたが結局ダメで力尽きました…
ほか
jQueryをなるべく廃して実現するのを目標にやってますが、最悪どうしてもできなければjQueryブチ込むこともやぶさかではありません…
有識者の方、お助けください!!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/07 10:29
2018/06/07 10:33 編集