vue.js - 动态显示数组长度
问题描述
我正在尝试显示收到的带有索引和总数的 websocket 消息。如何动态显示总计?
<template>
<div>
<v-btn @click="clickButton">Test Websocket</v-btn>
<h1>Total webhooks : {{total}}</h1>
<ul v-for="(log,index) in logs" :key=index >
<li>{{index}} - {{ log }}</li>
</ul>
</div>
</template>
<script>
export default {
data () {
return {
logs: [],
newlog: '',
total:0
}
},
methods: {
clickButton: function () {
this.$socket.send('Let me ask you a questin.can u hear me???')
}
},
created () {
this.$options.sockets.onmessage = (data) => {
console.log(data)
this.logs.push(data.data)
}
},
}
</script>
解决方案
你只需要使用计算属性:
export default {
data() {
return {
logs: []
};
},
computed: {
total() {
return this.logs.length;
}
},
...
}
推荐阅读
- kubernetes - Kubernetes 删除 Pod 后 PV/PVC 的状态
- c# - 每次我必须订阅事件时获取事件聚合器的实例?
- ios - 主从视图:DetailViewController 仅在我推送另一个视图时取消初始化?
- c++ - 更改 c++ lambda 中捕获的变量的值
- angular - ngfor循环内的数据绑定时出现角度错误
- xamarin.forms - 停止构建寻找 System.Threading.Tasks.Extensions.dll 4.2.0.0
- python - 有没有办法可以为子线程保留上下文本地变量?
- spring-boot - 加载 BulkApi 时找不到方法 readString(Path)
- python - Python 输出格式
- javascript - 如何添加添加按钮以在 Angular 2/4/6/8 Multiselect Dropdown 中输入动态值?