vue學習記錄③(路由)


上篇文章我們用vue-cli腳手架工具做了個簡單的hello world頁面,但是我們破壞了原來的流程,而正常的訪問頁面應該是通過路由來實現的。

那么什么是路由呢?

路由就是通過不同的url來訪問不同的內容。

下面我們就通過路由來訪問不同的頁面吧~~~

我們用vue-cli新建個項目test1。並運行;

如上圖可以訪問到默認的歡迎頁面。

那么這個頁面在vue中是怎么組成的呢?可以分析一下:

先看App.vue這個入口組件。

再來看Hello.vue這個組件。

好了,這個歡迎頁面我們基本分析清楚了,那么路由又是如何工作的呢?

1.我們在components下面新建個Helloworld組件。Helloworld.vue代碼如下:

<!--模板部分-->
<template>
    <div class="container">
        <h1>hello,world!</h1>
        <p>{{test}}</p>
    </div>
</template>
<!--js部分-->
<script>
export default {
    name: 'helloworld',
    data() {
        return {
            test: 'this is a test'
        };
    }
}
</script>
<!--樣式部分-->
<style>
.container {
    background: #aaa;
    color: blue;
}
</style>

2.把Helloworld.vue組件加入到router下面的index.js中的路由。index.js代碼如下:

import Vue from 'vue'
import Router from 'vue-router'
import Hello from '@/components/Hello'
import HelloWorld from '@/components/Helloworld'//我們新定義的組件

Vue.use(Router)

export default new Router({
  routes: [
    {
      path: '/',
      name: 'Hello',
      component: Hello
    },
    {//新路由
      path: '/helloworld',
      name: 'HelloWorld',
      component: HelloWorld
    }
  ]
})

3.main.js代碼如下:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'//index.js會自動尋找到,也可以寫全(import router from './router/index')

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  template: '<App/>',
  components: { App }
})

4.我們在瀏覽器地址欄輸入http://localhost:8080,正常應該是顯示首頁;然后我們改一下url,輸入http://localhost:8080/#/helloworld,這個就是我們自定義的組件。

這個時候我們就用路由實現了兩個頁面之間的跳轉了。

注意:在服務開始之前,打開build文件夾下的webpack.base.conf.js這個文件:我們找到module一欄,將eslint-loader這個模塊屏蔽掉。因為這個是格式檢查的工具,如果不關掉,它連多個空格都會提示你改,否則不讓過,所以只好干掉它。如圖:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM