فهرست منبع

```
feat(App): 添加菜单ref引用并优化学习笔记跳转逻辑

- 为el-menu组件添加ref="el_menu"引用
- 在组件实例中声明el_menu响应式引用
- 优化goLearnNote函数:未登录时更新菜单索引而非跳转页面
- 移除不必要的nextTick和setTimeout延迟操作
```

zhangningning 3 هفته پیش
والد
کامیت
deebb39433
1فایلهای تغییر یافته به همراه4 افزوده شده و 8 حذف شده
  1. 4 8
      src/App.vue

+ 4 - 8
src/App.vue

@@ -5,7 +5,7 @@
       <el-header class="box_shadow_card">
         <div class="header-content">
           <div class="logo" @click="$router.push('/')">{{ $t('common.title') }}</div>
-          <el-menu :default-active="activeIndex" 
+          <el-menu :default-active="activeIndex"  ref="el_menu"
           mode="horizontal" :ellipsis="false" class="meauList">
             <el-menu-item index="1" @click="$router.push('/')">AI {{ $t('common.gongzuoliu') }}</el-menu-item>
             <!-- <el-menu-item index="2" @click="$router.push('/my-learning')">工作流交易</el-menu-item> -->
@@ -87,6 +87,7 @@ langStore.updateDynamicTitle()
 
 const route = useRoute()
 const router = useRouter()
+const el_menu = ref(null);
 
 // 登录弹框引用
 const loginDialogRef = ref(null)
@@ -116,16 +117,11 @@ function goMyLearning() {
   router.push('/workflow-trade')
 };
 const goLearnNote = () => {
-  router.push('/learn-note');
   if (!isLogin({ callback: openLoginDialog, t })) {
-    nextTick(()=>{
-      setTimeout(()=>{
-        router.back();
-      },500)
-    })
+    el_menu.value.updateActiveIndex (activeIndex.value);
     return; // 如果未登录则不执行跳转,也不激活菜单
   }
-  
+  router.push('/learn-note');
 }
 // 将 activeIndex 改为响应式,并根据当前路由动态计算
 const activeIndex = computed(() => {