【 使用路由建立多视图单页应用详细介绍】

这篇具有很好参考价值的文章主要介绍了【 使用路由建立多视图单页应用详细介绍】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 多视图

构建多视图的单页应用程序(Single Page Application,简称SPA)通常会使用前端路由来实现,前端路由允许在不重新加载整个页面的情况下动态地加载不同的视图内容,这可以通过各种前端框架(如ReactAngularVue等)中的路由库来实现,下面,我将介绍如何在这些流行框架中使用路由来构建一个多视图SPA

1.1 引入依赖库

建立一个基本html项目,创建一个demo页面并引入一下js库文件

<script src="js/vue.js"></script>
<script src="js/vue-router.min.js"></script>

1.2 创建自定义组件

创建vue组件有两种方式:

  • var MyComonent = Vue.component(“button-counter”, {…});
    创建一个vue组件并赋给MyComponent变量
  • const Home = Vue.extend({});
    extend是构造一个组件的语法器. 你给它参数,他给你一个组件,然后这个组件你可以作用到Vue.component这个全局注册方法里,也可以在任意vue模板里使用

创建一个Home组件和About组件

//组件名用PPascalCase风格
const Home = Vue.extend({
    //必须定义一个根元素作为容器,包裹模板中的内容元素
    template: '<div><h1>Home组件</h1><div>Home组件内容区</div></div>'
});

const About = Vue.extend({
    //必须定义一个根元素作为容器,包裹模板中的内容元素
    template: '<div><h1>About组件</h1><div>About组件内容区</div></div>'
});

2. React(使用React Router)

React RouterReact中一个非常流行的路由库。

  1. 初始化项目和安装依赖

    npx create-react-app my-spa
    cd my-spa
    npm install react-router-dom
    
  2. 设置路由

    src目录中创建几个组件文件,例如Home.js, About.js, Contact.js,分别代表不同的视图。

    App.js中设置路由。

    import React from 'react';
    import { BrowserRouter as Router, Route, Switch, Link } from 'react-router-dom';
    import Home from './Home';
    import About from './About';
    import Contact from './Contact';
    
    function App() {
      return (
        <Router>
          <nav>
            <ul>
              <li><Link to="/">Home</Link></li>
              <li><Link to="/about">About</Link></li>
              <li><Link to="/contact">Contact</Link></li>
            </ul>
          </nav>
          <Switch>
            <Route exact path="/" component={Home} />
            <Route path="/about" component={About} />
            <Route path="/contact" component={Contact} />
          </Switch>
        </Router>
      );
    }
    
    export default App;
    

    当用户点击不同的链接时,<Router> 会匹配 <Route> 规则来动态加载对应组件。

  3. 创建视图组件

    在每个组件文件中定义不同的视图。

  4. 运行应用

    npm start
    

3. Angular(使用Angular Router)

在Angular中,有一个内建的路由库可以使用。

  1. 创建Angular应用

    ng new my-spa
    cd my-spa
    
  2. 设置路由

    app-routing.module.ts中配置路由。

    import { NgModule } from '@angular/core';
    import { Routes, RouterModule } from '@angular/router';
    import { HomeComponent } from './home/home.component';
    import { AboutComponent } from './about/about.component';
    import { ContactComponent } from './contact/contact.component';
    
    const routes: Routes = [
      { path: '', component: HomeComponent },
      { path: 'about', component: AboutComponent },
      { path: 'contact', component: ContactComponent },
    ];
    
    @NgModule({
      imports: [RouterModule.forRoot(routes)],
      exports: [RouterModule]
    })
    export class AppRoutingModule { }
    
  3. 创建视图组件

    使用Angular CLI来生成新组件。

    ng generate component home
    ng generate component about
    ng generate component contact
    
  4. 使用 <router-outlet>

    app.component.html中,使用 <router-outlet> 作为视图的占位符。

  5. 运行应用

    ng serve
    

4. Vue(使用Vue Router)

Vue Router是Vue的官方路由管理器。

  1. 创建Vue应用

    vue create my-spa
    cd my-spa
    vue add router
    
  2. 设置路由

    src/router/index.js文件中配置路由。

    import Vue from 'vue'
    import Router from 'vue-router'
    import Home from '../views/Home.vue'
    import About from '../views/About.vue'
    import Contact from '../views/Contact.vue'
    
    Vue.use(Router)
    
    const routes = [
      {
        path: '/',
        name: 'Home',
        component: Home
      },
      {
        path: '/about',
        name: 'About',
        component: About
      },
      {
        path: '/contact',
        name: 'Contact',
        component: Contact
      }
    ]
    
    const router = new Router({
      routes
    })
    
    export default router;
    
  3. 创建视图组件

    views目录中创建对应的组件文件。

  4. 使用 <router-view>

    App.vue文件中,使用 <router-view> 作为视图的占位符。

  5. 运行应用

    npm run serve
    

以上是使用三种不同框架构建多视图SPA的基本介绍,具体的代码实现和配置可能会根据框架版本和个人项目需求有所不同。这只是一个快速概览,实际开发过程中可能还需要考虑更多细节,如路由守卫、路由懒加载、嵌套路由等高级功能。文章来源地址https://www.toymoban.com/news/detail-809473.html

到了这里,关于【 使用路由建立多视图单页应用详细介绍】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • 极路由hiwifi怎么样?极路由真机使用评测图文详细介绍

    笔者是一个喜好折腾的人,曾经购买过FW300对其加装Flash和USB口,刷上第三方固件实现脱机下载。 笔者入手极路由,属于“第二三批工程机用户”,其实这款路由刚推出的第一时间,我已经有所动心,但并没有立即购买的冲动,因为那时我有一台运行OpenWRT的无线路由,刚刷了

    2024年02月06日
    浏览(28)
  • 迅雷路由器怎么用 迅雷智能路由器安装设置使用图文教程详细介绍

    前不久迅雷推出了一款令笔者印象深刻的迅雷路由器,该路由器属于一款智能路由器,除了具备双频ac路由、千兆网卡接口、支持外接硬盘外,还有一项创新功能,号称是全球第一台会赚钱的路由器。对于这款神奇路由器该怎么用呢?以下yii666小编为大家演示一下迅雷路由器

    2024年02月06日
    浏览(38)
  • Vue的路由使用,Node.js下载安装及环境配置教程 (超级详细)

    前言: 今天我们来讲解关于Vue的路由使用,Node.js下载安装及环境配置教程 首先我们Vue的路由使用,必须要导入官方的依赖的。 BootCDN - Bootstrap 中文网开源项目免费 CDN 加速服务 https://www.bootcdn.cn/ 路由思路 1、引入路由的js依赖 2、定义组件内容用来显示网页中的内容 3、定义

    2024年02月07日
    浏览(49)
  • .Net MVC中 视图如何使用路由!!!

    app.UseEndpoints( endpoints = {     endpoints .MapControllerRoute (         name : \\\"default\\\" ,         pattern: \\\" {controller=Home} / {action=Index} / {id?} \\\"); }) ;   页面跳转常用的路由设置 标签属性 描述 asp-action 指定控制器的action方法 asp-controller 指定控制器 asp-route-xxx 指定xxx片段值 asp-protocol 指

    2023年04月18日
    浏览(36)
  • 您可能并不需要单页应用程序

    前端框架的迅速崛起,如React、Angel、Vue.js、Elm等,使得单页面应用程序(Single Page Application)在网络上无处不在。对于许多开发人员来说,这些已经成为他们“默认”工具集的一部分。当他们开始一个新项目时,他们会使用他们已经知道的工具:后端的REST API和Reaction/Angel/V

    2024年02月13日
    浏览(25)
  • 【vue3】webpack和vite介绍与使用【超详细】

    打包工具 称为 构建工具 使用模块化开发主要面临两个 问题 :1.浏览器兼容性问题 2.模块化过多时,加载问题。 使用构建工具,对代码进行打包,将多个模块打包成一个文件。这样一来及解决了兼容性问题,又解决了模块过多的问题 作用 :构建工具可以将我们使用esm规范编写

    2024年02月07日
    浏览(23)
  • 什么是单页应用程序?如何选择及架构、优势和挑战

    单页面应用程序(Web应用程序或网站)仅加载单个页面。然后,当用户与Web服务器交互时,它使用从Web服务器获取的新内容重写页面,而不是为每次交互加载新页面。 单页面应用程序是一种网站解决方案,可以直接在浏览器中呈现JavaScript代码。它确保用户在浏览网站时不会重新

    2024年02月12日
    浏览(33)
  • webpack安装和使用及超详细配置一个基本vue项目的全部流程(包括路由、less、引入图片渲染)

    webpack官网: https://webpack.docschina.org/concepts/ 一:搭建一个简单的webpack项目 1:准备工作 需要在node环境才能使用webpack,所以需要先安装node,安装node请自行百度。dddd 如图,我这里使用的是14.17.0版本的 2:初始化项目 首先创建一个文件夹,这里我的命名是myWebpack,然后使用n

    2024年02月02日
    浏览(32)
  • 快速、准确地检测和分类病毒序列分析工具 ViralCC的介绍和详细使用方法, 附带应用脚本

    viralcc是一个基因组病毒分析工具,可以用于快速、准确地检测和分类病毒序列。 github:dyxstat/ViralCC: ViralCC: leveraging metagenomic proximity-ligation to retrieve complete viral genomes (github.com)  Instruction of reproducing results in ViralCC paper:dyxstat/Reproduce_ViralCC: Instruction of reproducing results in ViralCC

    2024年01月24日
    浏览(34)
  • vue3 ts element plus form表单二次封装详细步骤 (附参数、类型详细介绍及简单使用示例)

    上篇table 表格封装 讲到项目中经常会用到 table 表格,所以做了封装。当然,form 表单使用的频率依然很高,所以和封装 table 表格的思路相似,对 form 表单也做了一个二次封装的组件。 查看国内预览站 查看国外预览站 1. EasyForm 表单组件封装 src/components/EasyForm/index.vue Form 表单

    2024年02月07日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包