zoukankan      html  css  js  c++  java
  • 模块化开发

    一、模块化开发

      1、vue-router模块化(关于vue-router模块的开发)
           1、安装vue-router模块:cnpm install vue-router -S

        2、 编辑main.js,引入vue-router模块(Vue.prototype.$http=axios;  //向Vue原型上添加$http功能,叫什么名字自己定义)

    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

          3、编辑App.vue

    <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

          4、创建router.config.js,编辑路由规则

    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

      

      2、axios模块化(关于axios模块的开发)

         1、安装axios模块:cnpm install axios -S

         2、axios的使用方式(在上面的代码中都有体现):

           方式1:在每个组件中引入axios

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

         3、为自定义组件添加事件        
          在绑定事件的时候要添加上native修饰符

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

  • 相关阅读:
    课程5:Spring框架2016版视频--视频列表目录
    TAQSkinScrollBar 类美化滚动条再讨论
    C#区分多态和重载-delphi也类似
    Delphi之静态方法,虚方法virtual,动态dynamic,抽象abstract,消息
    课程4:黑马程序员_spring2.5视频教程--视频列表
    在 Delphi 中判断一个字符是中文的方法
    salesforce 零基础学习(四十八)自定义列表分页之Pagination基类封装 ※※※
    salesforce 零基础学习(四十七) 数据加密简单介绍
    salesforce 零基础学习(四十六)动态美观显示列表中记录的审批状态
    salesforce 零基础学习(四十五)Approval Lock & UnLock相关注意事项
  • 原文地址:https://www.cnblogs.com/xuanan/p/7862869.html
Copyright © 2011-2022 走看看