zoukankan      html  css  js  c++  java
  • Vue

    新建页面,创建路由是经常要做的事,而我总是站在前人的基础上,简单粗暴看下官网的教程,按着他们的格式创建和增加,自己创建项目也是看着教程走,不愿多动脑子去好好想想,所以某些概念总是模棱两可和记不住。

    (1)前端中的路由是什么?

      简单来说就是根据不同的 url 地址展示不同的内容或页面

    (2)用于什么场景?

      前端路由更多用在单页应用上, 也就是SPA(单页应用程序), 因为单页应用, 基本上都是前后端分离的, 后端自然也就不会给前端提供路由。

    (3)什么是单页应用?

      SPA是一种特殊的Web应用。它将所有的活动局限于一个Web页面中,仅在该Web页面初始化时加载相应的HTML、JavaScript、CSS。一旦页面加载完成,SPA不会因为用户的操作而进行页面的重新加载或跳转,而是利用JavaScript动态的变换HTML,实现UI与用户的    交互。与单页应用相呼应的是多页应用。

    (4)什么是多页应用?

      每一次页面跳转的时候,后台服务器都会给返回一个新的html文档,这种类型的网站也就是多页网站,也叫做多页应用。

    (5)单页应用与多页应用的比较

                                           单页面应用                                                                             多页面应用                            

    组成                           一个外壳页面和多个片段页面组成                                        多个完成的html页面组成

    页面跳转                     片段页面之间的切换,共用外壳页面                                     从一个完整的页面跳转到另外一个完整页面

    刷新方式                     页面片段的局部刷新                                                          整页刷新

    url模式                      http://xxx/flight.html                                                     http://xxx/flight/page1

    用户体验                     页面间片段切换快,用户体验好                                           页面间切换慢,不流畅,用户体验差

    页面间数据传递            依赖从url提取参数,cookie,localStorage等,较麻烦            在一个页面内,页面片段间传递数据容易

    以上为参考大部分博客总结的某些概念性东西,vue中路由的使用规则接着往下走:

    (1) 基本案列

    (2) 动态路由匹配

    某种模式匹配到的所有路由全都映射到同个组件。例如,一个 User 组件,对于所有 ID 各不相同的用户,都要使用这个组件来渲染。那么,通过在vue-router 的路由路径中使用“动态路径参数”(dynamic segment) 。

    const router = new VueRouter({
      routes: [
        // 动态路径参数以冒号开头
        { path: '/user/:id', component: User }
      ]
    })
    像 /user/fooID1 和 /user/fooID2 都将映射到相同的路由

    此外可以通过this.$route.params.id取得用户的ID值,例如:

    /user/:id                       

    匹配路径为 /user/fooID1时, 此时this.$route.params = {id: 'fooID1'}

    /user/:id/name/:name     

    匹配路径为/user/fooID1/name/yang时, 此时this.$route.params = {id: 'fooID1', name: 'yang'}

    还有一个常用的this.$route.query.id从url中查询参数,例如:

     /flights/id="foolD1"

     此时this.$route.query.id值为fooID1

  • 相关阅读:
    WPF MarkupExtension
    WPF Binding小数,文本框不能输入小数点的问题
    WPF UnhandledException阻止程序奔溃
    .Net Core的总结
    C#单元测试
    Csla One or more properties are not registered for this type
    unomp 矿池运行问题随记
    矿池负载运行监测记录
    MySql 数据库移植记录
    后台服务运行后无故停止运行,原因不明
  • 原文地址:https://www.cnblogs.com/Tiboo/p/10129117.html
Copyright © 2011-2022 走看看