vue中eventsource传参
时间: 2023-07-10 17:15:57 浏览: 221
Vue传参一箩筐(页面、组件)
Vue.js 中使用 EventSource 传参的方式与原生 JavaScript 中的方式一样,可以在 URL 后面添加查询字符串来传递参数。例如:
```javascript
let source = new EventSource('/api/getData?id=123');
```
在这个例子中,我们在 URL 后面添加了查询字符串 `?id=123`,可以在后端获取到这个参数。如果需要动态传递参数,可以使用字符串拼接或者模板字符串。例如:
```javascript
let id = 123;
let source = new EventSource(`/api/getData?id=${id}`);
```
这样就可以动态传递参数了。在 Vue.js 中使用 EventSource 也是一样的,只需要在 Vue 组件中使用 EventSource 对象即可。例如:
```javascript
export default {
data() {
return {
source: null,
id: 123
}
},
mounted() {
this.source = new EventSource(`/api/getData?id=${this.id}`);
this.source.addEventListener('message', this.onMessage);
},
beforeDestroy() {
this.source.removeEventListener('message', this.onMessage);
this.source.close();
},
methods: {
onMessage(event) {
console.log(event.data);
}
}
}
```
在这个例子中,我们在组件的 `mounted` 钩子函数中创建了 EventSource 对象,并添加了 `message` 事件的监听器。在组件销毁前,我们需要手动关闭 EventSource 对象并移除监听器,以免造成内存泄漏。
阅读全文