vue3实现打印功能,后端传送数组类型的数据,前端展示并打印
时间: 2023-08-12 22:13:17 浏览: 230
Vue3实现打印功能,需要先在后端将数组类型的数据转换成字符串类型,然后将数据传送到前端,前端再将字符串类型的数据转换成数组类型的数据进行展示和打印。
以下是一个简单的示例代码:
后端(假设使用Node.js):
```javascript
const express = require('express');
const app = express();
app.get('/data', (req, res) => {
const data = ['apple', 'banana', 'orange'];
res.send(data.join(','));
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
```
前端:
```vue
<template>
<div>
<button @click="printData">Print Data</button>
<ul>
<li v-for="(item, index) in dataList" :key="index">{{ item }}</li>
</ul>
</div>
</template>
<script>
import axios from 'axios';
export default {
name: 'PrintData',
data() {
return {
dataList: [],
};
},
methods: {
fetchData() {
axios.get('/data').then((response) => {
this.dataList = response.data.split(',');
});
},
printData() {
window.print();
},
},
mounted() {
this.fetchData();
},
};
</script>
```
在上面的代码中,我们首先在后端定义了一个路由 `/data`,用于返回数组类型的数据,但是我们将其转换成了字符串类型并使用 `join()` 方法将数组中的元素使用逗号拼接成一个字符串。然后在前端,我们使用 `axios` 库向后端发起请求获取数据,并在获取数据后使用 `split()` 方法将字符串类型的数据转换成数组类型的数据进行展示和打印。同时,我们在页面中添加了一个按钮,当用户点击时,会触发 `window.print()` 方法,用于打印当前页面的内容。
注意:如果要使用 `window.print()` 方法打印页面,需要将页面中不需要打印的元素设置为不可见或者隐藏,否则会一起打印出来。
阅读全文