1.传递数据

例如,我们希望把父组件的数据传递给子组件.

可以通过props属性来进行传递.

传递数据三个步骤:

步骤1:在父组件中,调用子组件的组名处,使用属性值的方式往下传递数据

<Menu :mynum="num" title="home里面写的数据"/>

# 上面表示在父组件调用Menu子组件的时候传递了2个数据:
  如果要传递变量[变量可以各种类型的数据],属性名左边必须加上冒号:,同时,属性名是自定义的,会在子组件中使用。
  如果要传递普通字符串数据,则不需要加上冒号:

步骤2 :在子组件中接受上面父组件传递的数据,需要在vm组件对象中,使用props属性类接受。

<script>
  export default {
    name:"Menu",
    props:["mynum","title"],
    data: function(){
      return {
        msg:"这是Menu组件里面的菜单",
      }
    }
  }
</script>

// 上面 props属性中表示接受了两个数据。

步骤3:在子组件中的template中使用父组件传递过来的数据.

<template>
    <div id="menu">
      <span>{{msg}},{{title}}</span>
      <div>hello,{{mynum}}</div>
  </div>
</template>

最终效果:

Vue之单文件组件的数据传递,axios请求数据及路由router

总结:关于这次数据传送的流程,请看下图

Vue之单文件组件的数据传递,axios请求数据及路由router

注意事项

使用父组件传递数据给子组件时, 注意一下几点:

  1. 传递数据是变量,则需要在属性左边添加冒号.

    传递数据是变量,这种数据称之为"动态数据传递"

    传递数据不是变量,这种数据称之为"静态数据传递"

  2. 父组件中修改了数据,在子组件中会被同步修改,但是,子组件中的数据修改了,是不是影响到父组件中的数据.

    这种情况,在开发时,也被称为"单向数据流"

 

2.axios数据请求

2.1 axios包的下载与使用

默认情况下,我们的项目中并没有对axios包的支持,所以我们需要下载安装。

在项目根目录中使用 npm安装包

npm install axios

接着在main.js文件中,导入axios并把axios对象 挂载到vue属性中多为一个子对象,这样我们才能在组件中使用。

详见代码:

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App' // 这里表示从别的目录下导入 单文件组件
import axios from 'axios'; // 从node_modules目录中导入包
Vue.config.productionTip = false

Vue.prototype.$axios = axios; // 把对象挂载vue中

/* eslint-disable no-new */
new Vue({
  el: '#app',
  components: { App },
  template: '<App/>'
});
View Code

相关文章:

  • 2022-12-23
  • 2022-01-11
  • 2022-12-23
  • 2021-12-01
  • 2021-07-01
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-02-09
  • 2022-12-23
  • 2021-11-03
  • 2022-12-23
  • 2021-10-09
  • 2022-12-23
相关资源
相似解决方案