vue移动音乐app开发学习(二):页面骨架的开发

本系列文章是为了记录学习中的知识点,便于后期自己观看。如果有需要的同学请登录慕课网,找到Vue 2.0 高级实战-开发移动端音乐WebApp进行观看,传送门

完成后的页面状态以及项目结构如下:

一:页面入口+header组件的编写

1:编写app.vue(src文件夹下):

从完成图我们可以发现,页面的骨架分为三块区域: header(头部标题)、tab(切换按钮)、router-view(路由切换的容器),所以我们将app.vue的代码改成如下:

<template>
  <div id="app">
    <m-header></m-header>
    <tab></tab>
    <router-view></router-view>
  </div>
</template>

<script>
  import MHeader from 'components/m-header/m-header'
  import Tab from 'components/tab/tab'
  export default {
    components: {
      MHeader,
      Tab
    }
  }
</script>

<style scoped lang="stylus" rel="stylesheet/stylus">

</style>

 

这段代码中,需要注意的是:

       当我们在import一个组件进来的并定义名称的时候,需要首字母大写(相当于类名)。导入组件的路径,如'components/m-header/m-header'中的components需要在build/webpack.base.config.js中加入如下代码:'components': resolve('src/components')。

2:编写mian.js(app.vue旁边那个)

import 'babel-polyfill'
import Vue from 'vue'
import App from './App'
import router from './router'
import fastclick from 'fastclick'
import 'common/stylus/index.styl'

fastclick.attach(document.body)
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App)
})

这段代码中,需要注意的是:

       fastclick导入后需要加上fastclick.attach(document.body)才能有作用。浏览器从点击屏幕上的元素到触发元素的 click 事件,移动浏览器会有大约 300 毫秒的等待时间。为什么这么设计呢? 因为它想看看你是不是要进行双击(double tap)操作。这个fastclick就可以解决浏览器点击时300ms的延迟。

  导入router实例后我们要注册到vue实例中,这样我们就可以全局使用了(this.$router)。

二:页面路由的编写以及主业务组件的基础开发:

1、编写rouert.js:

import Vue from 'vue'
import Router from 'vue-router'
import Recommend from 'components/recommend/recommend'
import Singer from 'components/Singer/Singer'
import Rank from 'components/rank/rank'
import Search from 'components/Search/Search'
Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      redirect: '/recommend'
    },
    {
      path: '/recommend',
      component: Recommend
    },
    {
      path: '/singer',
      component: Singer
    },
    {
      path: '/rank',
      component: Rank
    },
    {
      path: '/search',
      component: Search
    }
  ]
})

这段代码中,需要注意的是:

  默认路由“/”可以分配一个组件。使用路由需要导入vue-rouetr。

2:主业务组件的基础代码:

其他的基本代码请到我的github上下载:传送门

原文地址:https://www.cnblogs.com/momozjm/p/7243914.html