Nuxt 菜鸟入门学习笔记三:视图

这篇具有很好参考价值的文章主要介绍了Nuxt 菜鸟入门学习笔记三:视图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


Nuxt 菜鸟入门学习笔记三:视图,前端实践,前端基础,Nuxt,SSR,服务端渲染
Nuxt 官网地址: https://nuxt.com/

Nuxt 提供多个组件层来实现应用程序的用户界面。

  • 入口文件 App.vue
  • 组件 Components
  • 页面 Pages
  • 布局 Layouts

下面逐一进行介绍。

入口文件

默认情况下,Nuxt 会将 app.vue 文件视为入口点,并在应用程序的每个路由中呈现其内容。下面的代码片段是 app.vue 文件的基础代码结构:

// App.vue

<template>
  <div>
    <h1>Welcome to the homepage</h1>
  </div>
</template>

如果您熟悉 Vue,可能会想知道 main.js 在哪里(通常创建 Vue 应用程序的文件)。Nuxt 在幕后完成了这项工作。

组件 Components

大多数组件都是用户界面中可重复使用的部分,如按钮和菜单。在 Nuxt 中,您可以在 components/ 目录中创建这些组件,它们将自动在您的应用程序中可用,而无需显式导入。

  • 创建组件
    在 components 目录下创建 AppAlert.vue 文件,即是创建了一个名为AppAlert的组件,应用启动后,它就被自动加载,无需导入即可使用。
// components/AppAlert.vue

<template>
  <span class="warning">
    <slot />
  </span>
</template>

<style scoped>
.warning {
  color: orange;
}
</style>
  • 使用组件
    在其他页面(如 app.vue)中直接使用:
// app.vue

<template>
  <div>
    <h1>Welcome to the homepage</h1>
    <AppAlert>AppAlert Component.</AppAlert>
  </div>
</template>

页面 Pages

页面代表每个特定路由模式的视图。pages/ 目录中的每个文件都代表了显示其内容的不同路由。

通过在 pages/ 目录下创建 .vue 文件以创建更多页面及其相应路由,并在 app.vue 中添加 <NuxtPage /> 组件来加载匹配当前路由模式的。

下面创建两个页面做示例:

  • 创建 pages/index.vue 文件
<template>
  <div>
    <h1>@ index page</h1>
    <AppAlert>AppAlert Component.</AppAlert>
  </div>
</template>
  • 创建 pages/about.vue 文件
<template>
  <div>
    <h1>@ about page</h1>
    <AppAlert>AppAlert Component.</AppAlert>
  </div>
</template>

创建的页面如何通过路由访问呢?此处先做简单介绍,后续会写一篇专门介绍路由的文章。

  • 首先需要 nuxt.config.ts 增加配置项 pages:true
  • 在 App.vue 文件中增加 <NuxtPage /> 组件来展示请求的路由对应文件内容。
  • pages 目录下 index.vue 文件将映射到应用程序的 / 根路由,其他文件则以文件名为路由。也就是说访问 http://localhost:3000 就展示 index.vue 的内容,访问 http://localhost:3000/about 就展示 about.vue 的内容

注意:pages/index.vue 只能通过 http://localhost:3000 来访问,不能通过 http://localhost:3000/index 访问(访问会报 404 错)。

布局 Layouts

布局是围绕包含多个页面的公共用户界面的页面的包装器,例如页眉和页脚显示。
布局是使用 组件显示页面内容的 Vue 文件。默认情况下将使用 layouts/default.vue 文件。
布局被放置在 layouts/目录中,使用时将通过异步导入自动加载。

如果您的应用程序中只有一个布局,我们建议您使用带有 NuxtPage 组件的 app.vue 代替。

默认布局的使用方法是将 <NuxtLayout> 添加到 app.vue 中。(更多自定义布局使用方法后续会写专篇文章来做分享)

  • 创建默认布局文件
// layouts/default.vue

<template>
  <div>
    <div class="header">header Block</div>
    <slot />
    <div class="footer">footer Block</div>
  </div>
</template>

<style scoped>
.header {
  border-bottom: 1px solid #e0e0e0;
  text-align: center;
}

.footer {
  border-top: 1px solid #e0e0e0;
  text-align: center;
}
</style>
  • 使用布局

需要在 app.vue 文件中添加 <NuxtLayout> 组件:

// app.vue

<template>
  <div>
    <NuxtLayout>
      <NuxtPage />
    </NuxtLayout>
  </div>
</template>

此时再访问 http://localhost:3000 和 http://localhost:3000/about 就可以看到 layout 的效果了。文章来源地址https://www.toymoban.com/news/detail-683639.html

到了这里,关于Nuxt 菜鸟入门学习笔记三:视图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 《Python编程从入门到实践》学习笔记03列表

    [‘trek’, ‘cannondale’, ‘redline’, ‘specialized’] trek cannondale redline specialized specialized redline ada lovelace My first bicycle was a Trek. [‘honda’, ‘yamaha’, ‘suzuki’] [‘ducati’, ‘yamaha’, ‘suzuki’] [‘honda’, ‘yamaha’, ‘suzuki’, ‘ducati’] [‘honda’, ‘yamaha’] [‘honda’, ‘yamaha’, ‘

    2024年02月07日
    浏览(38)
  • Nuxt.js--》添加路由、视图和过渡效果

            博主今天开设Nuxt.js专栏,带您深入探索 Nuxt.js 的精髓,学习如何利用其强大功能构建出色的前端应用程序。我们将探讨其核心特点、灵活的路由系统、优化技巧以及常见问题的解决方案。无论您是想了解 Nuxt.js 的基础知识,还是希望掌握进阶技巧,本专栏都将满

    2024年02月10日
    浏览(35)
  • 《Python编程从入门到实践》学习笔记05If语句

    Audi BMW Subaru Toyota True False False True ‘Audi’ Hold the anchovices! True This is not the correct answer. True False False True True False True False Marie,you can post a response if you wish. you are old enough to vote! you are old enough to vote! Have you registered to vote yet? Sorry,you are too young to vote Please register to vote as soon as you

    2024年02月07日
    浏览(39)
  • 微前端框架MicroApp入门学习笔记(一)

    1、简介   微前端是一种架构风格,旨在通过将前端应用程序拆分为更小、更可管理的部分,使多个团队能够独立开发、部署和维护这些部分,从而实现前端的可扩展性和可维护性。   MicroApp框架是京东出品的一种用于构建微前端架构的开源框架,旨在帮助开发者更好地

    2024年02月12日
    浏览(39)
  • 【零基础入门学习Python---Python中安全编程和测试之快速入门实践】

    🚀 零基础入门学习Python🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题

    2024年02月12日
    浏览(56)
  • 【零基础入门学习Python---Python网络编程之django快速入门实践】

    🚀 Python 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|高中学习JAVA|大学完善JAVA开发技术栈|面试刷题|面经八股文|经验

    2024年02月16日
    浏览(39)
  • 【前端学习笔记2】javaScript基础

    是一种运行在客户端(服务器的编程语言) javacript分为行内JavaScript,内部JavaScript,外部JavaScript 内部JavaScript 直接写在html中body里面 alert(“hello,world”) 我们将script放在html文件的地步附近的原因是浏览器会按照代码在文件中的顺序加载html 如果先加载的JavaScript期望修改其

    2024年01月22日
    浏览(36)
  • 《零基础实践深度学习》(第2版)学习笔记,(二)机器学习和深度学习综述

    **人工智能(Artificial Intelligence,AI)**是研发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 **机器学习(Machine Learning,ML)**是当前比较有效的一种实现人工智能的方式。 **深度学习(Deep Learning,DL)**是机器学习算法中最热门的一个分

    2024年02月13日
    浏览(39)
  • python编程从入门到实践(第2版)学习笔记(变量,字符串)

    变量是一种可以赋给值的标签。每一个变量都指向一个相关联的值,下列代码中 message 即为变量,指向的值为“Hello Python world !” 第二行的 print() 函数用于打印输出这个 message 变量所关联的值。 且变量的值是可以修改的,python中只有变量的最新值有效如下列代码。     变量

    2024年02月12日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包