ZBLOG

以下是将您提供的 Vue 2 代码改写为 Vue 3 的版本。主要变化包括使用 setup 函数、ref 来声明响应式数据以及适应 Vue Router 和 Vuex 相关API的变化。

  1. <template>
  2. <div class="header">
  3. <div class="open">
  4. <span v-if="isCollapse" class="iconfont icon-zhankaicebianlan" @click="chengMenu"></span>
  5. <span v-else class="iconfont icon-shouqicebianlan" @click="chengMenu"></span>
  6. </div>
  7. <div class="right">
  8. <el-dropdown>
  9. <el-avatar :src="circleUrl"></el-avatar>
  10. <el-dropdown-menu slot="dropdown">
  11. <el-dropdown-item>修改用户名</el-dropdown-item>
  12. <el-dropdown-item>修改密码</el-dropdown-item>
  13. <el-dropdown-item>退出登录</el-dropdown-item>
  14. </el-dropdown-menu>
  15. </el-dropdown>
  16. </div>
  17. </div>
  18. </template>
  19. <script setup lang="js">
  20. import { ref, computed } from 'vue';
  21. import { useStore } from 'vuex';
  22. // 响应式数据
  23. const store = useStore();
  24. const circleUrl = "https://cube.elemecdn.com/3/7c/3ea6beec64369c2642b92c6726f1epng.png";
  25. // 从 Vuex 获取 isCollapse 状态
  26. const isCollapse = computed(() => store.state.isCollapse);
  27. // 方法
  28. function chengMenu() {
  29. store.commit('changeMenuShow');
  30. }
  31. </script>
  32. <style lang="less" scoped>
  33. .header {
  34. width: 100%;
  35. height: 50px;
  36. background-color: #1a78bf;
  37. color: #fff;
  38. line-height: 50px;
  39. display: flex;
  40. align-items: center;
  41. justify-content: space-between;
  42. .open {
  43. font-size: 20px;
  44. margin-left: 10px;
  45. .iconfont {
  46. cursor: pointer;
  47. }
  48. }
  49. .right {
  50. margin-right: 15px;
  51. display: flex;
  52. align-items: center;
  53. line-height: 0;
  54. .el-avatar {
  55. cursor: pointer;
  56. }
  57. }
  58. }
  59. </style>

改动说明:

  1. 脚本部分:使用 setup 函数来定义组件,利用 refcomputed 来处理状态和计算属性。
  2. Vuex:通过 useStore() 引入了 Vuex,获取状态和提交变更。
  3. 模板中的属性:直接使用响应式数据,无需在 data() 中定义。

以上就是将原有代码转换为 Vue 3 风格的示例!如果有其他问题,请随时告诉我!


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=19607

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?