zoukankan      html  css  js  c++  java
  • 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>
    
    

    有点乱,欢迎大家来纠正

    有公众号了,不定期推送热门前端技术文章!!!

  • 相关阅读:
    Dev C++ 工程没有调试信息 解决办法
    写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这棵二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。
    oracle10g登录em后,提示“java.lang.Exception: Exception in sending Request :: null”
    网站登录的破解
    sql 日志恢复
    Oracle expdp/impdp 使用示例
    Oracle数据库备份和恢复的基本命令
    检索 COM 类工厂中 CLSID 为 {{10020200-E260-11CF-AE68-00AA004A34D5}} 的组件时失败解决办法
    win7访问部分win2003速度慢
    公交车路线查询系统后台数据库设计--换乘算法改进与优化
  • 原文地址:https://www.cnblogs.com/zhengjialux/p/6357328.html
Copyright © 2011-2022 走看看