我正在一个个人项目中,我需要获取一个单元中所有设备的状态。此状态以及设备名称从函数deviceStatus()
的数组中返回。如果所有设备均为ON
,则unit.id旁边的主页图标将变为绿色。如果该单元内的所有设备均为OFF
,则主页图标将变为红色。如下所示,此代码可以很好地工作。
我正在寻找帮助来显示从deviceStatus()
返回的数组,因为当鼠标悬停在“主页”图标上时,文本框会弹出。我对mouseover
事件感到非常困惑,我们将不胜感激。
<template>
<div>
<div class="d-flex flex-row align-items-center py-2 px-2">
<h1 class="display-1 unit-status m-0">{{ unit ? unit.id : null }}</h1>
<font-awesome-icon
icon="home"
:style="deviceStyling"
class="tab-icon mx-2"
size="lg"
id="unit-info"/>
</div>
</template>
<script>
export default {
computed: {
deviceStatus() {
const device = this.unitDvc(this.currentSite.id);
return device.map(dv => {
const status = this.deviceStat(dv.device_id);
return { name: dv.name, status };
});
},
deviceStyling() {
var turnedOn = null;
var turnedOff = null;
for (var i = 0; i < this.deviceStatus.length; i++) {
if (this.deviceStatus[i]['state'] == 'on') {
turnedOn = turnedOn + 1;
} else {
turnedOff = turnedOff + 1;
}
}
if (turnedOn == this.deviceStatus.length) {
return { 'color': `green` };
} else if (turnedOff == this.deviceStatus.length) {
return { 'color': `red` };
}
}
},
</script>
答案 0 :(得分:1)
确保已安装v-tooltip依赖项
AppModule
并添加到您的应用
npm install --save v-tooltip
然后,您可以将指令添加到您的组件中:
import Vue from 'vue'
import VTooltip from 'v-tooltip'
Vue.use(VTooltip)
答案 1 :(得分:0)
如前所述,您正在使用HTML和JavaScript,可以使用HTML的简单属性,即TITLE
。就像mouseover
一样。
更多信息:Title - MDN