vue 父子传值 方法大全

   日期:2020-10-11     浏览:112    评论:0    
核心提示:vue 父子传值 方法大全一、通过props传递数据父页面子页面二、子控件给父控件传递值父页面子页面三、插槽slot四、vuex一、通过props传递数据只能是父控件传递给子控件父页面<template> <div id="app"> <HelloWorld1 width="400" height="500" arr="[1,2,3,4,5]" /> </div></template><script>i

vue 父子传值 方法大全

  • 一、通过props传递数据
    • 父页面
    • 子页面
  • 二、子控件给父控件传递值
    • 父页面
    • 子页面
  • 三、插槽slot
  • 四、vuex

一、通过props传递数据

只能是父控件传递给子控件

父页面

<template>
  <div id="app">
    <!-- <HelloWorld1 width="400" height="500" arr="[1,2,3,4,5]" /> -->
    <HelloWorld1 width=1 height="500" :arr="arr11" ></HelloWorld1>
  </div>
</template>
<script>
import HelloWorld1 from "./HelloWorld1";

export default { 
  data(){ 
    return{ 
      arr11:[1,2,3,4,5]
    }
  },
  components: { 
    HelloWorld1
  }
};
</script>

子页面

<template>
  <div>
    子控件获取到的值:<br />
    { {  width }}<br />
    { {  height }}<br />
    { { arr}}
  </div>
</template>>

<script>
export default { 
  props: { 
    width: { 
      //接受类型
      type: String,
      //false 可以为空 .true 不能为空 报错但不影响显示
      required: false,
      //默认值
      default: "800",
    },
    height: { 
      //接受类型(多种类型)
      type: [Number, String],
    },
    arr: { 
      type: Array,
      required: true,
    },
  },
};
</script>

二、子控件给父控件传递值

父页面

<template>
  <div id="app">
    点击按钮我就从500变成了800<br/> { { width}}
    <hr>
    <HelloWorld1 @myChange111="dochange" />
  </div>
</template>
<script>
import HelloWorld1 from "./HelloWorld1";

export default { 
  name: 'App',
  data(){ 
    return{ 
        width:500
    }
  },methods:{ 
    dochange(val){ 
      this.width=val;
    }
  },
  components: { 
    HelloWorld1
  }
}
</script>

子页面

<template>
  <div>
    <button @click="dochange()">ahahha</button>
  </div>
</template>

<script>
export default { 
  data() { 
    return { };
  },
  methods: { 
    dochange() { 
      this.$emit("myChange111", 800);
    },
  },
};
</script>

三、插槽slot

vue 插槽的使用

四、vuex

vuex 简单的 state与mutations 操作

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服