模塊化開發

1、模塊化開發vue

  一、vue-router模塊化(關於vue-router模塊的開發)
       一、安裝vue-router模塊:cnpm install vue-router -Sios

    二、 編輯main.js,引入vue-router模塊(Vue.prototype.$http=axios;  //向Vue原型上添加$http功能,叫什麼名字本身定義)git

import Vue from 'vue'
import VueRouter from 'vue-router'//引入模塊
import App from './App.vue'
import routerConfig from './router.config.js'//將路由規則寫在router.config.js文件中,而後導入改文件
import axios from 'axios'

//使用VueRouter
Vue.use(VueRouter);


//建立路由實例
const router=new VueRouter(routerConfig);

Vue.prototype.$http=axios;

new Vue({
  el: '#app',
  render: h => h(App),
  router
})
View Code

 

      三、編輯App.vuegithub

<template>
  <div id="app">
    {{msg}}
    <h3>
      <router-link to="/home">主頁</router-link>
      <router-link to="/news">新聞</router-link>
    </h3>
    <div>
      <keep-alive>
        <router-view></router-view>
      </keep-alive>
    </div>
    <hr>

    <button @click="send">發送AJAX請求</button>
    <MyButton @click.native="send"></MyButton>
  </div>
</template>

<script>
// import axios from 'axios'
import MyButton from './components/MyButton.vue'

export default {
  name: 'app',
  data () {
    return {
      msg: 'Welcome to itany'
    }
  },
  mounted(){
    console.log(this.$route);
  },
  watch:{//監視路由變化
    $route:function(newValue,oldValue){
      console.log('路由發生變化,跳轉到:'+newValue.path);
    }
  },
  methods:{
    send(){
      this.$http.get('https://api.github.com/users/tangyang8942')
        .then(resp => {
          console.log(resp.data);
        }).catch(err => {
          console.log(err);
        });
    }
  },
  components:{
    MyButton
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}

h1, h2 {
  font-weight: normal;
}

ul {
  list-style-type: none;
  padding: 0;
}

li {
  display: inline-block;
  margin: 0 10px;
}

a {
  color: #42b983;
}
</style>
View Code

 

      四、建立router.config.js,編輯路由規則web

import Home from './components/Home.vue'
import News from './components/News.vue'

export default {
    routes:[
        {
            path:'/home',
            component:Home
        },
        {
            path:'/news',
            component:News
        }
    ]
}
View Code

  

  二、axios模塊化(關於axios模塊的開發)vue-router

     一、安裝axios模塊:cnpm install axios -Snpm

     二、axios的使用方式(在上面的代碼中都有體現):axios

       方式1:在每一個組件中引入axiosapi

       方式2:在main.js中全局引入axios並添加到Vue原型中app

     三、爲自定義組件添加事件        
      在綁定事件的時候要添加上native修飾符

      eg: <MyButton @click.native="send"></MyButton>

相關文章
相關標籤/搜索