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的规则,路由只是用到了导入。

相关推荐
IT_陈寒1 小时前
Vite的热更新突然不香了,排查三小时差点砸键盘
前端·人工智能·后端
子兮曰1 小时前
Agency-Agents 深度解析:400+ AI 专家的"梦之队"如何重塑开发工作流
前端·后端·vibecoding
山河木马2 小时前
渲染管线-计算得到gl_Position(顶点着色器)之后续GPU流程
javascript·webgl·图形学
竹林8182 小时前
用 The Graph 查询链上数据实战:从手搓 RPC 到 Subgraph,我的 NFT 项目数据加载快了 10 倍
前端·javascript
妙码生花2 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十九):点选验证码代码逐行目检
前端·后端·go
Awu12273 小时前
⚡从零开发 Agent CLI(五)实现一个可治理、可扩展的工具系统
前端·人工智能·claude
咪库咪库咪4 小时前
Vue3-生命周期
前端
莪_幻尘4 小时前
你的 AI Skill 越多越蠢?Token 上下文爆炸的求生指南
前端·ai编程
lichenyang4534 小时前
从 has.echo 到异步 API 注册表:一次 ASCF API 回调不触发的排查复盘
前端
林瞅瞅5 小时前
Nuxt3 项目部署 Nginx 防盗链后特定 JS 文件 403 问题修复方案
前端