ฉันมีพฤติกรรมแปลก ๆ บางอย่างที่พยายามใช้เงื่อนไขสำหรับสไตล์ของไอเท็มใน Vuejs
ฉันเคยเห็น S.O. โพสต์เกี่ยวกับวิธีการนำไตรภาคไปใช้ ผ่านทางทั้งสตริงที่สอดแทรกหรือออบเจ็กต์สไตล์ที่คำนวณ ฉันได้ลองทั้งสองแล้ว แต่ก็ไม่ได้ผลอย่างถูกต้อง
รับ div นี้:
<div
:class="{'radar__container':true,'inactive':inactive}"
:style= "[inactive ? {getStyleRadarContainerInactive} : {getStyleRadarContainer}]"
>
ฉันจะใช้สไตล์นี้:
computed: {
getStyleRadarContainer: function(){
let styleRadarContainer = {
left: this.radarItem.posX*100 + '%',
top: this.radarItem.posY*100 + '%',
transform: 'translate(-50%,-50%) scale(' + this.radarItem.scale + ')',
opacity: this.radarItem.opacity,
}
return styleRadarContainer;
},
getStyleRadarContainerInactive: function(){
let styleRadarContainerInactive= {
left: this.radarItem.posX*100 + '%',
top: this.radarItem.posY*100 + '%',
transform: 'translate(-50%,-50%) scale(0)',
opacity: this.radarItem.opacity,
}
return styleRadarContainerInactive;
},
}
สิ่งนี้ควรทำให้แต่ละรายการเหล่านี้ลดขนาดลง (เนื่องจากมาตราส่วน (0) ในคุณสมบัติความทึบ) แต่แอตทริบิวต์ style จะไม่แสดงผลเลย ฉันยังลองใช้อินไลน์แบบไตรภาคบนเสาสไตล์ (เนื่องจากสเกลนั้นเป็นสิ่งเดียวที่เปลี่ยนแปลงระหว่างคุณสมบัติทั้งสอง:
transform: 'translate(-50%,-50%) ' + inactive ? 'scale(' + radarItem.scale + ')' : 'scale(0)',
ฉันพลาดอะไรไป?