在第二个文件中,handleQueryBYID 函数的参数名是versionId,但在调用函数时没有传入任何参数。因此,versionId 的值为undefined,而不是从route.params.id中获取的实际值。要解决这个问题,您可以将versionId作为参数传递给handleQueryBYID函数,或者直接使用route.params.id作为参数传递给handleQuery函数。以下是两种可能的解决方案:

解决方案1:将versionId作为参数传递给handleQueryBYID函数

第一个文件:

function toDetail(versionId?: string) {
  console.log('~scope.row.versionId~~~~~~~~~~~', versionId)
  router.push({
    name: "VersionDetail",
    params: { id: versionId },
    // query: { newTitle: "版本详情[" + versionId + "]" },
  });
}

第二个文件:

onMounted(() => {
  queryParams.id = route.params.versionId as string;
  console.log('--------------- queryParams.id', queryParams.id)
  console.log('--------------- route.params.id', route.params.id)
  console.log('-跳进来了')

  handleQueryBYID(route.params.id);
});

function handleQueryBYID(versionId) {
  // loading.value = true;
  console.log('--------------- queryParams.versionId戴拿谢梦探索远方', route.params)
  queryParams.versionId = versionId;
  handleQuery(queryParams.versionId);
}

解决方案2:直接使用route.params.id作为参数传递给handleQuery函数

第一个文件:

function toDetail(versionId?: string) {
  console.log('~scope.row.versionId~~~~~~~~~~~', versionId)
  router.push({
    name: "VersionDetail",
    params: { id: versionId },
    // query: { newTitle: "版本详情[" + versionId + "]" },
  });
}

第二个文件:

onMounted(() => {
  queryParams.id = route.params.versionId as string;
  console.log('--------------- queryParams.id', queryParams.id)
  console.log('--------------- route.params.id', route.params.id)
  console.log('-跳进来了')

  handleQuery(route.params.id);
});

function handleQuery(versionId) {
  loading.value = true;
  queryParams.versionId = versionId;
  getVersionForm(queryParams)
    .then((data: any) => {
      console.log('data=====', data);
      Object.assign(formData, data);
      // refundInfo.orderSkus.push(...data.data.orderSkus);
      // total.value = data.total;
    })
    .finally(() => {
      loading.value = false;
    });
}

无论您选择哪种解决方案,都可以确保正确地获取到route.params.id的值并传递给相应的函数。

Vue.js 路由参数传递问题:为什么无法获取 `id`?

原文地址: http://www.cveoy.top/t/topic/XWV 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录