1、利用vue-router实现页面跳转

程序可以正常运行之后,下面我们需要配置路由实现页面的局部刷新,这一功能将用来实现网站页面的跳转。

打开程序目录,进入"src\router\index.js",可以看到程序已经配置了一个路由和其相关联的组件。

这里引入了"vue-router",并且新建了一个Router对象,对象里有一个routes属性,是一个对象数组。routes的每一个对象都有以下属性:

path:表示程序当前在什么路径下就需要渲染,"/"为默认路径,即程序开启时候的路径。

name:这里设计到vue-link的使用,当页面设置了vue-link标签并且to属性指定了名字,将会跟这里的name值匹配,用于指定跳转的路由。

component:用来渲染页面的组件,这里使用了HelloWorld组件。

上图是vue.app下的截图,上面的router-view是用来渲染页面的,渲染规则是,根据程序当前路径,比如现在是"localhost:8080/",将会调用name为"Hello"的路由,根据其component属性选择HelloWorld组件,所以router-view就会渲染成src\components\HelloWordl.vue组件。至于vue-link,因为vue-link作用在于跳转,编译后其实相当于a标签,to属性也相当于a标签的href,所以通过设置它的to属性,可以选择不同的路由,从而把router-view渲染成不同的组件。下面是我项目的例子:

vue.app

router\index.js

vue.app页面有三个vue-link,to属性分别指向三个不同地址,而这些地址都是跟index.js中的name相匹配,当用户点击相应的vue-link时候,页面地址会改变,而相应的路由将会响应,根据路由所定义的component值找到相应的组件,然后渲染vue-app中的router-view,实现局部刷新的效果。

2、利用vue-resource模拟后台返回json数据并获取

首先修改build目录下的dev-server.js,添加如下代码:

这里的musicData.json是我自己写的一个数据,将会用来返回给前台页面,下面是musicData.json的数据:

每次修改json数据,或者是build目录下面的文件内容,都需要重新执行npm run dev命令。json数据在使用前最好可以先校验一下是否有错误,网上有很多检验工具,否则项目运行不了。继续看dev-server.js中添加的代码,把请求到的json文件赋值给appData,然后获取其中的数据,赋值给music01。接着利用express模块下的router对象提供的get方法设置请求路径以及成功后的回调函数。最后app.use('/api', apiRoutes)表明这个路径用于提供数据,当我们访问“/api/musicData”时候,将会返回musicData的数据给我们。

参考博客:http://blog.csdn.net/weiweismile123/article/details/70210934

下面是在页面发送请求然后获取数据并使用,MainPage.vue(项目的主页面):

在created阶段(关于vue生命周期更详细的文章,可以查看博客:https://segmentfault.com/a/1190000008010666)发送get请求,地址为定义好的"/api/musicData",然后调用其then方法,该方法用于执行回调函数,使用获得的response数据,上面例子下把response.body.data赋值给了this.music01,template使用返回的music01对象数据:<img :src="music01.coverPath" />,把music01下的coverPath(音乐封面路径)赋值给了src,打开浏览器查看结果,已经成功读取到了数据。

这里有一点需要注意,就是页面的路径问题。因为音乐包含了mp3和图片等数据,而vue提供了一个static文件夹给我们,就是用来存放静态资源的,这样当我们的项目部署到服务器之后,项目中所依赖的静态资源不会失效。所以把图片和音乐文件放置于static之后,再把json数据中的"coverPath"设置为“/static/data/cover/一番の宝物 (Original Version).jpg”,这样就能成功获取到数据。

从零开始利用vue-cli搭建简单音乐网站(二)的更多相关文章

  1. 从零开始利用vue-cli搭建简单音乐网站(一)

    最近在学习vue框架,练习了一些例子之后,想着搭建一个vue项目,了解到官方有提供一个vue-cli工具来搭建项目脚手架,尝试了一下,写下博客来记录一下. 一.工具环境 1.node.js 6.10. ...

  2. 从零开始利用vue-cli搭建简单音乐网站(七)

    这几天完成了歌曲收藏功能,先看最后效果: 新注册用户:“newuser”,进入“我的音乐界面如下所示” 点击新建歌单,输入:“新歌单”,确认,如下: 目前还没有歌曲,打开音乐界面,点击收藏功能,如下, ...

  3. 从零开始利用vue-cli搭建简单音乐网站(八)

    这是完成了预想中的最后两个功能:歌曲评论以及歌曲搜索. 1.评论效果: 用户点击评论按钮,评论框获取焦点. 输入之后点击提交,下方显示评论,用户名称以及日期.相应的用户也可以删除自己评论. 当然只能删 ...

  4. 从零开始利用vue-cli搭建简单音乐网站(六)

    上一篇遗漏了一个简单的效果没写,见下图: 主页面点击热门推荐和更多之后跳转到歌曲列表页面,现在的页面只是简单的把所有歌曲列出来,没有进行排序.实现起来也很简单,在MainPage的两个链接上添加: & ...

  5. 从零开始利用vue-cli搭建简单音乐网站(五)

    上一篇文章讲到的是如何利用mongoose从数据库读取数据然后更新页面,接下来要实现的就是用户注册登录功能,这个功能涉及到的东西太多了,今天只实现了登录功能,登陆之后更新导航条界面,最后效果如下: 登 ...

  6. 从零开始利用vue-cli搭建简单音乐网站(四)

    上一篇文章中说到这一篇博客会实现音乐播放功能,只是令我意外的是,如果利用h5的audio标签,几行代码就实现了......先来看一下最终效果吧. 这里直接用了audio标签,样式没有怎么管,能获得音乐 ...

  7. 从零开始利用vue-cli搭建简单音乐网站(三)

    1.利用router-link在组件之间传递数据 如上图,MainPage.vue中主要有8个推荐曲目数据,主要实现方式是建立好主页面模板,然后用v-for循环获取返回的music对象,然后分别绑定曲 ...

  8. 使用Vue CLI 3将基于element-ui二次封装的组件发布到npm

    前言:之前在网上找的好多都是基于vue-cli 2.x的,而使用vue-cli 3的文章比较少,Vue CLI 3 中文文档,所以我在自己尝试的时候把几篇文章结合了一下,调出来了我想要的模式,也就是V ...

  9. vue cli搭建项目及文件引入

    cli搭建方法:需安装nodejs先 1.npm install -g cnpm --registry=https://registry.npm.taobao.org //安装cnpm,用cnpm下载 ...

随机推荐

  1. SQL Server 2008将数据导出为脚本 [SQL Server]

    之前我们要将一个表中的数据导出为脚本,那么只有在网上找一个导出数据的Script,然后运行就可以导出数据脚本了.现在在SQL Server 2008的Management Studio中增加了一个新特 ...

  2. hibernate VS mybatis

    1: 一般来说,业务逻辑比较简单,集增删改查就可以满足需求,建议使用hibernate,而复杂的业务逻辑,尤其是多表关联查询,建议使用mybatis. 2: hibernate有更好的二级缓存机制,可 ...

  3. 【旧文章搬运】KeUserModeCallback用法详解

    原文发表于百度空间及看雪论坛,2010-01-10 看雪论坛地址:https://bbs.pediy.com/thread-104918.htm  代码及附件可到这里下载=============== ...

  4. MVC 登录后重定向回最初请求的 URL FormsAuthentication.RedirectFromLoginPage

    在传统的Asp.net webForm 中如果使用 Form身份验证.登录后重定向到最初请求的页面只需使用 FormsAuthentication.RedirectFromLoginPage 但在MV ...

  5. linux进程状态D和Z的处理

    长期生活在 Linux 环境里,渐渐地就有一种环保意识油然而生.比如,我们会在登录提示里写上"悟空,我跟你说过叫你不要乱扔东西,乱扔东西是不对的.哎呀我话没说完你怎么把 棍子扔掉了?月光宝盒 ...

  6. Flutter实战视频-移动电商-60.购物车_全选按钮的交互效果制作

    60.购物车_全选按钮的交互效果制作 主要做全选和复选框的这两个功能 provide/cart.dart 业务逻辑写到provide里面 先持久化取出来字符串,把字符串编程list.循环list ca ...

  7. 09.客户端集成IdentityServer

    09.客户端集成IdentityServer 新建API的项目 dotnet new webapi --name ClientCredentialApi 在我们上一节课的代码IdentityServe ...

  8. VS Supercharger插件

    一.前言 Supercharger 是 VS 的一款插件,针对代码进行优化和着色,便于观察和区分. 二.下载及安装 下载的 URL 如下:Supercharger 下载地址 点击下载,下载完成以后,那 ...

  9. Codeforces698B【并查集+拆环】

    好题,好题,第一次写这个神秘的拆环.. 题意: 给你n个数,第i个数代表点i连向点a[i], 将这副图变成树,求最小改变边的数量: 思路: 已知有向树的定义, 除了根节点外每个节点都有且仅有一条边都指 ...

  10. bootstrap添加多个模态对话框支持

    bootstrap添加多个模态对话框支持 (2015-03-04 21:05:35) 转载▼ 标签: 房产   因为项目需要,在页面交互上要弹出多个dialog窗口,而bootstrap的modal支 ...