vue-router跳轉頁面


小結放在前:先祝大家新年快樂!雞年大吉大利!在新的一年里大家都有跳躍般的成長!作為新年的第一篇文章,就拿他來給大家拜個年!!!文章前部份講解了vue-router路由的配置,后半部分為去年的文章vue.js快速入門添加了兩個知識點 props$emit 組件間的通信,希望大家看完有所收獲!!!

使用 Vue.js 做項目的時候,一個頁面是由多個組件構成的,所以在跳轉頁面的時候,並不適合用傳統的 href,於是 vue-router 應運而生

官方文檔請點擊這里

先看效果:

運行查看效果

注意:我這里用的是 vue-cli 做的演示

vue-router

第一步當然是安裝了,用npm安裝命令 npm install vue-router --save-dev

第二步在.vue組件里添加標簽,格式如下

<div id="app">
<p>
    <!-- 使用 router-link 組件來導航. -->
    <!-- 通過傳入 `to` 屬性指定在main.js文件設置的別名鏈接,如/1 -->
    <!-- <router-link> 默認會被渲染成一個 `<a>` 標簽 -->
    <router-link to="/1">Go to Foo</router-link>
</p>
<!-- 路由出口 -->
<!-- 點擊<router-link>的時候指定的頁面將渲染在這里 -->
<router-view></router-view>
</div>

第三步在main.js文件里配置路由,格式如下

import VueRouter from 'vue-router'

// 1. 定義(路由)組件。
// 加載組件
import Page01 from './max'

Vue.use(VueRouter)
//全局安裝路由功能

// 2. 定義路由
// 每個路由應該映射一個組件。 
const routes = [
  { path: '/1', component: Page01 } 
  //前面to指定的地方 path  /1
]

// 3. 創建 router 實例,然后傳 `routes` 配置
const router = new VueRouter({
  routes
})

// 4. 創建和掛載根實例。
// 記得要通過 router 配置參數注入路由,
// 從而讓整個應用都有路由功能
new Vue({
  el: '#app',
  template: '<App/>',
  components: { App },
  router
})

// 現在,就可以重啟試試了!

注意 routesrouter 是不一樣的單詞,別眼花了

路由就是這么的簡單!

props

父組件向子組件傳值

在子組件里添加 prors ,格式如下

props: [
    'rimag',
    'hyaline',
    'levels',
    'ohyaline'
],

然后是在父組件里向子組件里傳值,格式如下

//HTML

<nv-nav :rimag=mgse :hyaline=ortiy :levels=vels :ohyaline=orctiy></nv-nav>
// 傳值用綁定

//JS

data () {
    return {
      mgse: -20.62,
      orctiy: 0,
      vels: -1,
      ortiy: 0
    }
}

點擊后父組件就會將data里的數據綁定到子組件的props里

$emit

子組件改變父組件的值,通過$on將父組件的事件綁定到子組件,在子組件中通過$emit來觸發$on綁定的父組件事件

先在父組件里將值綁定給子組件並監聽子組件變化,格式如下


//HTML

<nv-nav v-on:child-say="listen"></nv-nav>

//JS

listen: function (mgs, orc, cel, ort) {
  this.mgse = mgs
  this.orctiy = orc
  this.vels = cel
  this.ortiy = ort
}

之后在子組件data里建要改變的值,格式如下


mgs: -20.62,
orc: 0,
cel: -1,
ort: 0

然后建個方法


dis: function () {
  this.$emit('child-say', this.mgs, this.orc, this.cel, this.ort)
}

給某個元屬添加點擊事件觸發剛建的方法


<aside @click="dis"></aside>

有點亂,歡迎大家來糾正

有公眾號了,不定期推送熱門前端技術文章!!!


免責聲明!

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



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