Vue中,订阅一条信息,每交易日最高/最低最多提醒一次
时间: 2023-12-06 09:45:18 浏览: 51
毕业设计java“最多跑一次”微信小程序ssmvue有文档源码含文档含教程
你可以通过在Vue中使用computed属性来实现订阅一条信息,每交易日最高/最低最多提醒一次。首先,你需要在data中定义一个变量来存储最高/最低价,以及一个变量来存储上次提醒的时间。然后,在computed属性中,你可以根据当前时间和上次提醒的时间比较来判断是否需要提醒,并更新上次提醒时间和最高/最低价变量。
下面是一个简单的示例代码:
```html
<template>
<div>
<p>当前最高价:{{highestPrice}}</p>
<p>当前最低价:{{lowestPrice}}</p>
<button @click="updatePrice">更新价格</button>
</div>
</template>
<script>
export default {
data() {
return {
highestPrice: 100, // 最高价
lowestPrice: 50, // 最低价
lastReminderTime: null, // 上次提醒时间
}
},
computed: {
shouldRemind() {
const now = new Date()
const today = new Date(now.getFullYear(), now.getMonth(), now.getDate())
const lastReminderDate = this.lastReminderTime ? new Date(this.lastReminderTime) : null
if (!lastReminderDate || lastReminderDate < today) {
// 如果上次提醒是在昨天或更早之前,则需要提醒
if (this.currentPrice > this.highestPrice || this.currentPrice < this.lowestPrice) {
return true
}
}
return false
},
currentPrice() {
// 模拟获取当前价格的方法
return Math.random() * 100
},
},
methods: {
updatePrice() {
// 更新最高/最低价
this.highestPrice = Math.random() * 100
this.lowestPrice = Math.random() * 50
// 如果需要提醒,则弹出提示框
if (this.shouldRemind) {
alert('当前价格超出了最高/最低价')
this.lastReminderTime = new Date()
}
},
},
}
</script>
```
在上面的代码中,我们定义了一个computed属性shouldRemind来判断是否需要提醒。首先,我们获取当前日期,然后判断上次提醒时间是否在昨天或更早之前。如果是,就根据当前价格和最高/最低价比较来判断是否需要提醒。如果需要提醒,则返回true,否则返回false。在updatePrice方法中,我们更新最高/最低价,并判断是否需要提醒。如果需要提醒,则弹出提示框并更新上次提醒时间。
阅读全文