精华内容
下载资源
问答
  • 实例280 自动生成编号 365 实例281 判断输入数据是否符合要求 367 8.7 数据库控件应用 369 实例282 用TDBGrid组件浏览数据库 369 实例283 TDBCtrlGrid的应用 370 实例284 DBGrid颜色变换 371 8.8 数据...
  • Nuxt.js 官方文档上有句话:根据pages目录结构自动生成vue-router模块的路由配置。意思就是 Nuxt.js 是自动根据 pages 的目录结构和文件名来自动地生成 vue-route 的路由配置描述文件。使得我们不需要去自己写配置,...

    1.路由规则

    Nuxt.js 官方文档上有句话:根据 pages 目录结构自动生成 vue-router 模块的路由配置。意思就是 Nuxt.js 是自动根据 pages 的目录结构和文件名来自动地生成 vue-route 的路由配置描述文件。使得我们不需要去自己写配置,而是按照一定的规则来创建目录和文件名即可,在 Nuxt.js 上开发项目我们是无需关心路由配置文件的,因此,这篇文章我也只说明 Nuxt.js 的规则和使用方法,具体生成的配置文件是怎样的可以参考官方文档

    1.1 基础路由

    Nuxt.js 按照 pages 的目录结构生成路由,文件名是 index.vue 的 url 对应其上层目录名,文件名不是 index.vue 的则根据文件名生成对应路由,假设 pages 目录下有如下目录和文件:

    /test.vue  =>  localhost:3000/test

    /index.vue  =>  localhost:3000/  (错误访问地址:localhost:3000/index)

    /hello/index.vue =>  localhost:3000/hello (错误访问地址:localhost:3000/hello/index)

    打开我们搭建的新的项目的 pages 目录里面只有有一个 index.vue 文件,运行起来,然后访问 localhost:3000 显示了 index.vue 内容

    而我们把 url 改成 localhost:3000/index 去访问时却出现404提示,根据规则我们可推测 localhost:3000/index 应该是去查找 pages 目录下的 index/index.vue 发现找不到,所以404了。

    接下来,我们创建一个测试的页面与 index.vue 同级就叫 about.vue  代码如下:

    <template>
      <div>
        <h1>/about</h1>
      </div>
    </template>
    
    <script>
      export default {
        name: "about"
      }
    </script>

    此时,再来访问浏览器 localhost:3000/about 发现是可以正确访问的。

          

    那我们再创建一个 about 目录然后目录下面再创建一个 index.vue 看看效果会如何。当前目录结构如下:

    pages
      |- about
           |- index.vue
      |- about.vue
      |- index.vue

    about/index.vue  代码如下:

    <template>
      <div>
        <h1>/about/index</h1>
      </div>
    </template>
    
    <script>
      export default {
        name: "about"
      }
    </script>

    继续访问 localhost:3000/about 发现结果和上面的一样,也就是说加载文件定位的还是 about.vue 而不是 about/index.vue 。而删掉 about.vue 后再再次刷新页面,文件就加载到 about/index.vue 了。

    也就是说,除了 index 外,生成路由的规则优先按 xx.vue ,没有此文件再使用 xx/index.vue

    1.2 嵌套路由

    但是要注意,在此规则下 Nuxt.js 还提供了一种路由嵌套的机制,如果同时存在 xx.vue 和 xx/index.vue 情况下,在 xx.vue 里面添加 <nuxt-child/> 标签可以显 xx/index.vue 的内容。

    在刚才的测试文件中,我们找到 about.vue 修改代码如下:

    <template>
      <div>
        <h1>/about</h1>
        <nuxt-child/> <!--增加nuxt-child标签-->
      </div>
    </template>
    
    <script>
      export default {
        name: "about-index"
      }
    </script>
    
    

    再次访问 localhost:3000/about ,这时两个文件的内容都显示在了浏览器上

        

    1.3 动态路由

    有时候我们的路由是需要根据参数去变化的,像一些 restful 风格的接口,比如获取新闻的 url 可能是这样的:http://xx.xx.xx/news/1 后面的数字是新闻的 ID。

    这种情况下我们只需要创建以【 “_” + “名称” 】创建 vue 文件即可,例如上面这个例子创建的目录和文件如下:

    pages
      |- news
           |- _id.vue

    当浏览器访问 localhost:3000/news/xx 时则加载 /news/_id.vue 文件。如果想要在 _id.vue 中获取 xx 这个参数,则用 $route.params.id 即可,_id.vue 示例代码如下:

    <template>
      <div>
        <h1>{{ $route.params.id }}</h1>
      </div>
    </template>
    
    <script>
      export default {}
    </script>

    当然,$route.params.id 中的 id 不是固定的,如果你的文件名不是 _id.vue 而是 _nid.vue ,那么获取参数的值的写法则为 $route.params.nid  

    这种方式实现的动态路由其参数不是必填的,也就是当访问  localhost:3000/news/ 时最好的参数没有添加,同样会加载到 _id.vue ,如果需要变成必填,需要将目录和文件名调整一下,变成下面这个样子

    pages
      |- news
           |- _id
                |- index.vue

    区别就是新增了一个 _id 目录,然后把之前的 _id.vue 文件重名名为 index.vue 并放到了 _id 目录下面

    此时再访问 localhost:3000/news/ 则跳转到404页面了

    2.页面跳转

    在页面之间使用路由,官方建议使用 <nuxt-link> 标签,例如:

    <template>
      <nuxt-link to="/news/1">查看详情</nuxt-link>
    </template>

    运行后我们查看渲染的代码其实就是生成一个 <a> 标签,如下:

    <a href="/news/1">查看详情</a>

    我们写个 for 循环测试一下

    <template>
      <div>
        <div v-for="news in newsList">
          <nuxt-link :to="'/news/'+news.id">{{news.title}}</nuxt-link>
        </div>
      </div>
    </template>
    
    <script>
      export default {
        name: 'index',
        data: () => {
          return {
            title: 'Hello Nuxt',
            newsList: [
              {id: 1, title: '新闻标题一'},
              {id: 2, title: '新闻标题二'},
              {id: 3, title: '新闻标题三'},
            ]
          }
        }
      }
    </script>

    最终生成的html代码如下:

    <div data-server-rendered="true" id="__nuxt">
      <div id="__layout">
        <div>
          <div>
            <div><a href="/news/1">新闻标题一</a></div>
            <div><a href="/news/2">新闻标题二</a></div>
            <div><a href="/news/3">新闻标题三</a></div>
          </div>
        </div>
      </div>
    </div>

     

    展开全文
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 存储类型 1.10 同一个静态(static)函数或变量的所有声明都必需包含static存储类型吗? 1.11 extern在函数声明中是什么意思? ...
  • 1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一个静态(static)函数或变量的所有声明都必须包含static存储类型吗? 6 1.11 extern在函数声明中是什么...
  • * 目录 * 1. 前言 * 2. 声明和初始化 o 2.1 我如何决定使用那种整数类型? o 2.2 64 位机上的 64 位类型是什么样的? o 2.3 怎样定义和声明全局变量和函数最好? o 2.4 extern 在函数声明中是什么意思? o ...
  • 《你必须知道的495个C语言问题》

    热门讨论 2010-03-20 16:41:18
    1.9 如何生成“半全局变量”,就是那种只能被部分源文件中的部分函数访问的变量? 5 存储类型 6 1.10 同一个静态(static)函数或变量的所有声明都必须包含static存储类型吗? 6 1.11 extern在函数声明中是什么...
  • 代码语法错误分析工具pclint8.0

    热门讨论 2010-06-29 07:00:09
    如果你在安装过程中选定了使用某个开发环境,安装程序会在你安装的目录生成一个en v-xxx.lnt的文件,例如选择了Source Insight就会有一个env-si.lnt文件。用编辑器打开 该文件,在该文件开始的注释中说明了...
  • 你必须知道的495个C语言问题(PDF)

    热门讨论 2009-09-15 10:25:47
    3.12 我需要根据条件把一个复杂的表达式赋值给两个变量中的一 个。可以用下边这样的代码吗? ((condition) ? a : b) = complicated expression; . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 目录iii ...
  • ---按文件名及记录号存取文件,是一维、连续的字符序列,方便存储、检索或加工 ---文件由若干个逻辑记录组成,并加以命名或编号 •文件的物理结构 又称文件的存储结构,是指文件在外存上的存储组织...
  • asp.net知识库

    2015-06-18 08:45:45
    根据基本表结构及其数据生成 INSERT ... 的 SQL 简便的MS SQL 数据库 表内容 脚本 生成器 将表数据生成SQL脚本的存储过程 直接从SQL语句问题贴子数据建表并生成建表语句的存储过程 从SQL中的一个表中导出HTML文件...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0217 根据表格中的数据长度自动调整表格宽度 144 7.2 ADO数据处理技术 145 0218 如何把ADO中的数据导入到ListBox中 145 0219 使用SQL语句保存数据 146 0220 使用赋值方式保存数据 147 0221 当ADO循环删除...
  • CruiseYoung提供的带有详细书签的电子书籍目录 http://blog.csdn.net/fksec/article/details/7888251 Oracle Database 11g数据库管理艺术(涵盖DBA必知必会的所有数据库管理知识) 基本信息 原书名: Expert Oracle ...
  • C#.net_经典编程例子400个

    热门讨论 2013-05-17 09:25:30
    262 实例181 修改文件及目录的名字 264 6.4 文件目录 265 实例182 获得临时文件目录 265 实例183 获取应用程序所在目录 266 实例184 得到系统当前目录 266 实例185 在程序中改变当前...
  • 多媒体教室

    2013-06-14 08:10:31
    第一次安装教师机后班级模型为空,使所有的学生机都登录到教师机中则班级模型自动建立,您这时再根据您教室和班级的具体情况进行调整就相当方便。 学生机登录后会在班级模型区以图标显示出来,您...
  • 实例270 使用存取文件名的方法存取图片 383 实例271 使用ADO.NET对象向SQL Server数据库存入图片 384 9.7 数据修改 387 实例272 利用数据绑定控件修改数据 387 实例273 利用数据对象修改数据 390 实例274...
  • 怎样运用取决于你怎样定义它们。你可以用list()或者array()来定义它们,也可以直接为数组赋值。数组的索引从0开始。虽然我在这里没有说明,但是你一样可以轻易的使用多维数组。 // 一个包含两个元素的数组 $a[0...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    C#编程经验技巧宝典源代码,目录如下: 第1章 开发环境 1 <br>1.1 Visual Studio开发环境安装与配置 2 <br>0001 安装Visual Studio 2005开发环境须知 2 <br>0002 配置合适的Visual Studio 2005...
  • 在Qt Creator 的安装目录的qt 文件下的bin 文件夹下(我安装在了D 盘, 所以路径是D:\Qt\2009.04\qt\bin),可以找到所有的相关.dll 文件。在这里 找到mingwm10.dll 文件,将其复制到C:\WINDOWS\system 文件夹下,...
  • 可以不加参数,该程序会自动根据内存大小分配适当的内存空间作为高速缓 存),再安装Windows XP即可。另外提醒大家,这个程序在安装完Windows后 ,不要运行,否则Windows可用内存将减少。  4、Win32k.sys是什么...
  • 程序开发范例宝典>>

    2012-10-24 10:41:28
    实例209 根据日期动态建立文件 296 实例210 清空回收站 298 6.2 查找文件 299 实例211 搜索文件 299 实例212 检查文件是否存在 300 实例213 提取指定文件夹目录 301 6.3 修改文件 302 实例214...
  • 实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例268 程序运行时禁止关机 364 实例269 获取任务栏尺寸大小 365 实例270 ...
  • 实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例268 程序运行时禁止关机 364 实例269 获取任务栏尺寸大小 365 实例270 ...
  • 实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例268 程序运行时禁止关机 364 实例269 获取任务栏尺寸大小 365 实例270 改变系统提示信息...
  • C#程序开发范例宝典(第2版).part02

    热门讨论 2012-11-12 07:55:11
    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面...实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例...
  • C#程序开发范例宝典(第2版).part13

    热门讨论 2012-11-12 20:17:14
    一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面...实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例...
  • 一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面...实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例...
  • 一部久享盛誉的程序开发宝典。精选570个典型范例,全面覆盖实用和热点技术,涉及面...实例265 怎样调用外部的EXE文件 361 实例266 关闭外部已开启的程序 362 7.10 程序运行 363 实例267 防止程序多次运行 363 实例...
  • 疯狂JAVA讲义

    2014-10-17 13:35:01
    学生提问:当我们使用编译C程序时,不仅需要指定存放目标文件的位置,也需要指定目标文件的文件名,这里使用javac编译Java程序时怎么不需要指定目标文件的文件名呢? 13 1.5.3 运行Java程序 14 1.5.4 根据...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

怎样根据文件名自动生成目录