vue export default

文章目录

      • [export default](#export default)
        • [export default示例](#export default示例)
        • [setup和export default的区别](#setup和export default的区别)
        • [export default导出或setup设置后路由才可使使用对吧?](#export default导出或setup设置后路由才可使使用对吧?)

export default

export default 是默认导出,一个vue文件只能有一个export default。

export default示例
js 复制代码
<script>
  export default {
    name: 'TutorialChapterView',
    data() {
      return {
        tutorial: null,
        chapters: [],
        activeChapterId: null,
        activeChapter: null
      }
    },
    async mounted() {
      const tutorialId = this.$route.params.tutorialId
    },
    methods: {
      async fetchTutorial(tutorialId) {
        try {
          const response = await fetch(`/mysite/api/tutorial/${tutorialId}`, {
            method: 'GET',
            headers: {
              'Content-Type': 'application/json',
            }
          })

          const data = await response.json()

          if (data.success) {
            this.tutorial = data.data
          }
        } catch (error) {
          console.error('Failed to fetch tutorial:', error)
        }
      }
    },
    watch: {
      '$route'(to, from) {
        if (to.params.tutorialId !== from.params.tutorialId) {
          this.tutorial = null
          this.chapters = []
          this.activeChapterId = null
          this.activeChapter = null

          const tutorialId = to.params.tutorialId
          if (tutorialId) {
            this.fetchTutorial(tutorialId)
            this.fetchChapters(tutorialId)
          }
        }
      }
    }
  }
  </script>
setup和export default的区别

setup更优雅,更推荐。

setup有以下优点:

1、无需exportdefault:中顶层声明的变量、函数会自动暴露给模板,无需手动return。

2、响应式数据改造:原来的data属性全部改为ref(),在JS逻辑中读写它们必须加上.value(在模板中则不需要)。

3、生命周期钩子:mounted被替换为onMounted,且需要从vue中显式导入。

4、路由监听:Vue3推荐使用watch函数监听特定的响应式值(如()=>route.params.tutorialId),这比Vue2中监听整个$route对象性能更好、意图更明确。

export default导出或setup设置后路由才可使使用对吧?

这样理解比较片面。

默认导出并不是路由的规则,而是es6的规则,路由只是用到了导入。

相关推荐
前端 贾公子1 小时前
小程序蓝牙打印探索与实践 (最终章)
前端·微信小程序·小程序
右耳朵猫AI1 小时前
前端周刊2026W23 | React 19.2.7、Conductor重写提速、Lovable切换TanStack Start
前端·react.js·前端框架
zzqssliu1 小时前
Next.js图片自适应压缩:跨境站点图片加载提速代码方案
linux·javascript·ubuntu
copyer_xyf1 小时前
FastAPI 项目骨架搭建
前端·后端·python
智码看视界2 小时前
老梁聊全栈:CSS3 高级特性—Flex/Grid 布局体系深度解析
前端·css3·布局·flexbox·grid·工程实践·全栈工程师
IT_陈寒2 小时前
Python虚拟环境的这个坑,我居然绕了三天才爬出来
前端·人工智能·后端
matlab_xiaowang2 小时前
WeasyPrint:把 HTML 变成 PDF 的文档工厂
前端·其他·pdf·html
星栈独行2 小时前
写 Makepad Demo 不难,难的是把它写成项目
前端·程序人生·ui·rust
深圳恒讯2 小时前
非洲服务器延迟高吗?实测数据与场景化解读
运维·服务器·前端