Vue Day02

下载路由:npm i vue-router@3.5.2 -S

 <!-- 路由占位符 : 其他的组件会替代 路由占位符 -->

 <!--  在App可不使用 但无组件渲染 -->

     <!-- 根组件实际渲染到  public/index.html -->

    <router-view/>

1.<!-- 路由跳转 -->

<!-- router-link 最终会渲染成a标签 to属性会渲染成href属性 -->

<router-link to="/page2"> 跳转到page2</router-link>

需要配置路径(配置路由)

// 导入依赖 node_modules 直接写依赖的名称

import Vue from 'vue'

// 导入页面组件 导入自己写的文件时必须使用相对路径

import Page1 from '../views/Page1.vue'

const routes = [

  {

    // 使用时路径,自己定义

    path: '/page1',

    // 自己定义

    name: 'page1',

    // 导入的页面组件名

    component: Page1

  },

2.组件的使用步骤:

        1.创建组件

        2.导入组件

// 引入公共组件

//                        路径 @指向src文件夹

                import HeaderView from '@/components/HeaderView.vue'

        3.注册组件

  components: {

// 注册组件

    HeaderView : HeaderView,

  // 当变量名和属性名一致时,可以省略变量名

HeaderView

}

        4.使用组件

<header-view></header-view>

3。

      <!-- 多个组件只显示一个  -->

      <component :is="showComp"> </component>  

4.父传子 (子组件 SonComp)

        <son-comp :abc="msg"></son-comp>

  data () {

    return {

      msg:"hello1"

    }

  },

子组件使用:

<p>{{abc}}</p>

  // 用来接收父组件传递的参数

  // 数据的元素是父组件的属性名

  // 单向数据流(父->子  )

  // props:['abc'],

  props:{

    //名:类型

    'abc':String

    // abc:{

    //   type:String,//数据类型

    //   default:'ok!' //默认值

    // }

  },

5.子传父 子组件 (ZoomIn)

     父组件:

<!--自定义事件  -->

<zoom-in @fangda="handle"></zoom-in>

    methods:{

      handle(val){

              this.fs=val

      }

    },

子组件:

<button @click="fun()">放大</button>

    fun(){

        this.num++

        // $emit 触发自定义事件

        this.$emit('fangda',this.num)

    }

  },

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值