javascript - 让两个兄弟姐妹通过事件总线相互通信时遇到一些问题
问题描述
我想点击一个按钮Servers
,currentStatus
inServerDetails
会变成array中的status
property ,但是我的in还是“Server Details are currently not updated”请帮忙server
currentStatus
ServerDetails
main.js
export const eventBus = new Vue({
methods: {
changeStatus(stat) {
this.$emit("statChanges", stat);
}
}
});
服务器.vue
<li class="list-group-item" v-for="elem in server" :key="elem.id">
<button @click="updateStatus(elem.status)">Server #{{elem.id}}</button>
<p>{{serverstatus}}</p>
</li>
<script>
import { eventBus } from "../../main";
export default {
props: ["serverstatus"],
data: function() {
return {
server: [
{ id: 1, status: "Level 1" },
{ id: 2, status: "Level 2" },
{ id: 3, status: "Level 3" },
{ id: 4, status: "Level 4" },
{ id: 5, status: "Level 5" }
]
};
},
methods: {
updateStatus(x) {
this.serverstatus = x;
eventBus.changeStatus(this.serverstatus);
}
}
};
</script>
服务器详细信息.vue
<p>{{currentStatus}}</p>
<script>
import { eventBus } from "../../main";
export default {
data: function() {
return {
currentStatus: "Server Details are currently not updated"
};
},
create() {
eventBus.$on("statChanges", stat => {
this.currentStatus = stat;
});
}
};
</script>
解决方案
Vue中没有生命周期钩子create
。你应该created
改用。
推荐阅读
- python - 按行计算数字的位数
- python - 删除输出文件中不需要的字符
- excel - excel中的动态单元格格式
- typescript - IONIC 4,可观察订阅正在复制我的 html 模板
- javascript - 查找给定数组中重复数字的计数并将输出作为对象返回
- python - 无法从 Ubuntu 18.04 上的 URL 或 IP 访问 Django 运行服务器
- mysql - 是否可以以交替顺序输出两个子查询的联合结果?
- javascript - 用户使用node js和firebase登录时如何增加令牌的到期时间
- c# - 需要动态删除文件名中的重复文本
- php - 如何使用 SQL 和 PHP 首先显示最新上传的帖子?