formatDiscription() { const chargeContainModel = this.optionContain[this.wholeDayForm.chargeContainModel].label; //24小时计费包含 const maxDailyFee = this.dialogForm.maxDailyFee; const chargeType = this.optionTypes[this.dialogForm.chargeType].label; //计费类型 const freeDuration = this.wholeDayForm.freeDuration; //免费时长 const amountDescriptions = [ "免费时段收费金额+首时段收费金额+超过首时段的收费金额", "首时段收费金额+超过首时段的收费金额", "免费时段收费金额+超过首时段的收费金额", "超过首时段的收费金额", ]; const amount = amountDescriptions[this.wholeDayForm.chargeContainModel]; //计费包含 const template = `计费包含:${chargeContainModel} 收费限额:${maxDailyFee}元 计费设置:${chargeType} 免费时长:${freeDuration}分钟 收费金额:${amount}`; return template; },
时间: 2024-04-28 16:27:12 浏览: 38
这段代码是一个名为`formatDiscription()`的函数,它接收一些表单数据,然后将这些数据格式化成一个字符串模板并返回。具体来说,它会获取`chargeContainModel`(24小时计费包含)、`maxDailyFee`(收费限额)、`chargeType`(计费类型)、`freeDuration`(免费时长)和`amount`(收费金额),并将它们插入到一个字符串模板中,最后返回该模板。
相关问题
// 计算两者之间的距离 distance() { const R = 6371; // 地球半径,单位千米 const lat1 = this.markers[0].latitude; const lon1 = this.markers[0].longitude; const lat2 = this.markersn[0].latitude const lon2 = this.markersn[0].longitude const dLat = this.rad(lat2 - lat1); const dLon = this.rad(lon2 - lon1); const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(this.rad(lat1)) * Math.cos(this.rad(lat2)) * Math.sin(dLon / 2) * Math.sin(dLon / 2); const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a)); const d = R * c * 1000; // 转为米 return d.toFixed(2); }, // 辅助方法,将角度转为弧度 rad(d) { return d * Math.PI / 180.0; }, uniapp中,令以上代码每隔一秒钟便自动调用一次
你可以使用 `setInterval` 函数来实现每隔一秒钟自动调用 `distance` 方法。
示例代码:
```javascript
// 在页面加载完成后调用
mounted() {
// 每隔一秒钟调用一次 distance 方法
setInterval(() => {
const d = this.distance();
console.log(`距离为:${d} 米`);
}, 1000);
},
```
请注意,`setInterval` 函数的第二个参数是时间间隔,单位是毫秒。在上面的示例中,我们将时间间隔设置为 1000 毫秒(即 1 秒钟)。
updateBoxPosition() { const container = document.querySelector(".container") const box = document.querySelector(".box") console.log("我是附属物的", this.showdataboard) console.log("我是0001的", this.dianDiv) if (this.showdataboard === true || this.dianDiv === true) { const containerRect = container.getBoundingClientRect() const boxRect = box.getBoundingClientRect() // 检查大盒子是否被遮挡 if (boxRect.bottom > containerRect.bottom) { // 计算需要移动的距离 const offsetY = boxRect.bottom - containerRect.bottom + 10 // 加上一些额外的间距 // 更新大盒子的位置 const newRight = parseInt(this.boxStyle.right) + 200 this.boxStyle.right = `${newRight}px` } } },当被DOM弹框覆盖时自动移动位置
您可以尝试以下代码来实现当大盒子被DOM弹框覆盖时自动移动位置:
```javascript
updateBoxPosition() {
const container = document.querySelector(".container");
const box = document.querySelector(".box");
console.log("我是附属物的", this.showdataboard);
console.log("我是0001的", this.dianDiv);
if (this.showdataboard === true || this.dianDiv === true) {
const containerRect = container.getBoundingClientRect();
const boxRect = box.getBoundingClientRect();
// 检查大盒子是否被遮挡
if (boxRect.bottom > containerRect.bottom) {
// 计算需要移动的距离
const offsetY = boxRect.bottom - containerRect.bottom + 10; // 加上一些额外的间距
// 更新大盒子的位置
box.style.transform = `translateY(-${offsetY}px)`;
}
}
}
```
这段代码会检查`showdataboard`和`dianDiv`是否为`true`,如果是,它会检查大盒子是否被遮挡,然后计算需要移动的距离,并使用`translateY`将大盒子向上移动,以使其在可见区域内。请确保将此代码放在适当的位置,并在需要时调用`updateBoxPosition()`方法。
阅读全文