vue实战 ---- 一个简单的音乐搜索网站(start)

vue实战 ---- 一个简单的音乐搜索网站(一)
vue实战 ---- 一个简单的音乐搜索网站(二)
vue实战 ---- 一个简单的音乐搜索网站(三)

学习vue框架之后发现网页的数据展示变得很容易,刚好博主我4个月前写过一个爬取网易云音乐的小爬虫程序(可能也算不上爬虫,就是请求api获取歌曲信息),所以突发奇想优化一下

以前在CSDN写的:https://blog.csdn.net/qq_40507724/article/details/89381147


这个是python纯字符界面,几个月过去api接口好像失效了,应该跑不起来了,现在我打算用vue重构,目前已经完成了基本的一些功能,效果如图:

1. 环境搭建

写到另一篇里面了:vue环境搭建

2. 整体设计

本身没有想的很复杂,主要的功能就是一个搜索框,输入歌手名称或歌曲名,点击搜索就会出现歌曲列表,然后点击某一首歌播放。
vue的一大特色是组件,我为了熟悉组件这个概念,把一些功能写到不同的组件里,但我还是太年轻了,封装到组件之后反而给数据的交互带来了很大麻烦,感觉画蛇添足。虽然遇到了麻烦,但最终还是被我解决了,对vue这个框架的理解也更进了一步。

3. 代码

下图是src目录下的一级目录:


如果你看过上面的vue环境搭建,这些文件的作用就不赘述了。

(1)App.vue
<template>
  <div id="app">
    <router-view/>
  </div>
</template>


<script>
  import {float} from '@/assets/js/float.js' 
  export default {
    name: 'App',
    created(){
        float();
    },
  }
</script>


<style>
  html, body {
    margin: 0;
    padding: 0;
    background-color: #CCFFFF;
  }

  body {
    width: 700px;
    margin: auto;
  }
</style>

vue的固定模板

  • <template>组件</template>
  • <script>js调用,视图配置,数据控制</script>
  • <style>CSS样式</style>

这里组件中的<router-view/>是路由的视图映射,等会我们再配置路由

script标签里我是引入了一个js脚本,因为vue框架不能在HTML源码中引入script标签,这会和vue本身定义的script冲突,所以要引入脚本,其中一个方法就是import脚本,然后export并作为一个函数调用,这个脚本是一个网页特效,所以在created方法中初始化。

  • created方法
    在模板渲染成html前调用,即通常初始化某些属性值,然后再渲染成视图。与之类似的有mounted方法。
  • mounted方法
    在模板渲染成html后调用,通常是初始化页面完成后,再对html的dom节点进行一些需要的操作
(2)main.js
import App from './App'
import router from './router'
// 导入axios
import axios from 'axios'
import VueAxios from 'vue-axios'

// 配置跨域
Vue.prototype.HOST = '/api' 

// 注册使用axios
Vue.use(VueAxios, axios)

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

这个文件是核心项目文件,通过import组件或者第三方库,完成一些配置,最后new出vue实例对象

后面要要用到axios请求api,所以这里要import导入并注册到实例中,导入之前要先下载:

npm install axios -S
cnpm install axios -S  // 有淘宝镜像就执行这句

(3)router\index.js

router文件下有个index.js文件,用来配置路由,还记得上面提到的<router-view/>吗?配置路由之后我们的视图才能映射到主界面

import Vue from 'vue'
import Router from 'vue-router'
import HelloWorld from '@/components/HelloWorld'

# music就是我们自己要写的项目
import music from '@/home/music'

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'music',
      component: music
    }
  ]
})

与此同时,在home文件夹下面新建一个文件,命名为music.vue
好了,接下来就可以在music.vue文件中写我们的项目了,至此,工程目录如下


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352