【已解决】和老师代码一致,却出现undefined的标题

来源:4-4 -使用ChatGPT生成usePageTitle函数,修改网页标题

慕盖茨0002275

2023-09-05

老师,为什么一样的代码,结果会出现不一样的结果哈

目前看到第四章,然后设置了usePageTitle.js, 要么报奇怪的错误,要么采用和老师一样的代码,结果出现的undefineed的标题

标题是undefined

usePageTitle.js

// usePageTitle.js
import { ref, onMounted, onBeforeUnmount } from 'vue';

const NAME = "Tech Blog"

export default function usePageTitle(title) {
  const originalTitle = ref(document.title);

  // 设置页面标题
  function updatePageTitle(newTitle) {
   document.title = newTitle + " - " + NAME;
    
  }

  // 监听路由变化,更新页面标题
  onMounted(() => {
    updatePageTitle();
  });

  onBeforeUnmount(() => {
    document.title = originalTitle.value
  });

  return {
    updatePageTitle,
  };
}

首页的代码

<script setup>

import blogApi  from '@/api/blogApi'
import { ref, onMounted } from 'vue'
import usePageTitle from '../hooks/usePageTitle'


// 修改标题
usePageTitle('首页')

const blogList = ref([])

onMounted(async() => {
  const res = await blogApi.getBlogs()
  blogList.value = res
  console.log('blogList', blogList.value)
})

</script>

<template>
  <main>
    <h1>Home</h1>
  </main>
</template>

老师帮忙看看哈,谢谢

今天又对了下视频的代码,原来是一些小地方不一致,改了就好了。以下是正确的代码

// usePageTitle.js
import { ref, onMounted, onBeforeUnmount } from 'vue';

const NAME = "Tech Blog"

export default function usePageTitle(title) {
  const originalTitle = ref(document.title);

  // 设置页面标题
  const updatePageTitle  = () => {
   document.title = title + ' - ' + NAME;
    
  };

  // 监听路由变化,更新页面标题
  onMounted(() => {
    updatePageTitle();
  });

  onBeforeUnmount(() => {
    document.title = originalTitle.value
  });

  return {
    updatePageTitle,
  };
}




写回答

1回答

双越

2023-09-06

调试一下代码,看 undefined 是哪一行代码执行导致的?

1
1
慕盖茨0002275
嗯嗯,谢谢老师,今天又对了一下,代码有些不同,现在可以了,谢谢。另外,请问vue如何调试?有没有对应的文章
2023-09-06
共1条回复

程序员的 AI 启蒙课,ChatGPT 辅助开发 Vue3 项目

使用 ChatGPT+Copilot 快速开发仿简书项目,90% 代码由 AI 生成

839 学习 · 30 问题

查看课程