vue3中实现页面onload(onMounted)和onshow(watch监听页面路径变化,前后相同即为onshow)

import { ref, onMounted, watch } from 'vue';
import { useRoute } from 'vue-router';

export default {
  setup() {
    const route = useRoute();
    const id = ref('');

    // 在组件加载时获取初始参数
    onMounted(() => {
      id.value = route.params.id;
      console.log('Component is mounted with id:', id.value);
      // 执行其他加载逻辑
    });

    // 监听路由参数变化
    watch(() => route.params, (newParams, oldParams) => {
      if (newParams.id !== id.value) {
        id.value = newParams.id;
        console.log('Route parameter changed to:', id.value);
        // 执行相应的逻辑
      }
    });

    return {
      id
    };
  }
};


 

GitHub 加速计划 / vu / vue
109
19
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:4 个月前 )
9e887079 [skip ci] 1 年前
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐