vue 父子 子父 传值

2023-11-04

文档 Vue.js - 渐进式 JavaScript 框架 | Vue.js (vuejs.org)

父给子传值

父组件


<template>
  <div id="app">
    <p>父组件</p>
    <p>------------------</p>
    <p>子组件</p>
     <Demo :list="list"></Demo><!-- 在父组件中利用:list="list"来传值-->
 </div>
</template>
<script>
import Demo from "./Demo.vue"
 export default {
     name: 'app',
     data(){
         return {
           list:{id:1,task:"设计产品原型"},
         }
       },
   components: {
     Demo
   } 
}
</script>
子组件
<template>
    <div id="myfooter">
       <p>{{list.id}}</p>
       <p>{{list.task}}</p>
   </div>
</template>
<script>
export default {
 name: 'Demo',
 props:["list"],//在子组件中利用props:["list"]来接收父组件传过来的值 ;在此必须加引号
 }


</script>

------------------------------------------------------------------------------------------------------------------------------

子给父传值 

子组件
<template>
    <div id="myfooter">
      <button @click="submit">提交</button>
    </div>
   
  </template>
   
  <script>
  export default {
    name: 'myfooter',
    data(){
      return {
        title:"我是子组件中的数据"
      }
    },
    methods:{
      submit(){
        this.$emit("submit",this.title)//在子组件中触发事件,格式为:this.$emit("事件名",要传的值)
      }
    }
  }
  </script>
父组件
<template>
  <div id="app">
    <p>{{content}}</p>
     <Demo @submit="aa"></Demo> <!--在父组件中接受值,格式为:@事件名 = "函数"  -->
 </div>
</template>
<script>
import Demo from "./Demo.vue"
 export default {
     name: 'app',
     data(){
         return {
           content:''
         }
       },
     methods:{
       aa(value){
         this.content=value;//在此value就是从子组件传过来的值
       }
     },
     components: {
       Demo
   } 
}
</script>

----------------------------------------------------------------------------------------------------------------------------

一、父子组件传值 

子组件

<template>
    <div class="child">
        {{ message }}
    </div>
</template>

<script>
export default {
    name: "Demo",
    props: {
        message: String,
    },
};
</script>

父组件

<template>
  <div class="father">
      <Demo :message="text" />
      <input v-model="data" />
      <button @click="changeDemo">点我改变子组件的值</button>
  </div>
</template>

<script>
import Demo from "./Demo.vue";
export default {
  name: "Father",
  components: { Demo },
  data() {
      return {
          data: "niha",
          text: "我是父组件的值",
      };
  },
  methods: {
      changeDemo() {
          this.text = this.data;
      },
  },
};
</script>

 

参考

vue传值之父子组件传值、bus传值、vuex传值、其他方式传值…_Jet_closer_burning的博客-CSDN博客

Vue中组件的五种传值方式_vue兄弟组件传值的五种方法_xdlhw1997的博客-CSDN博客

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue 父子 子父 传值 的相关文章

  • 在 contenteditable div 中选择范围

    我有一个contenteditablediv 和其中的一些段落 这是我的代码 div style border solid 1px black width 300px height 300px div Hello world div div
  • 是否存在 IsCallable 为 false 但 IsConstructor 为 true 的 JS 对象?

    ECMAScript 规范函数可调用 https www ecma international org ecma 262 6 0 index html sec iscallable当且仅当其参数具有 Call 内部方法时返回 true 它在
  • Eslint errorring 导入没有扩展名的 jsx

    我正在尝试在 es6 中导入 jsx 文件而不需要 jsx 扩展名 import LoginErrorDialog from LoginErrorDialogView Not import LoginErrorDialog from Log
  • Javascript Promise“then”始终运行,即使 Promise 未能执行

    我希望当调用第二个 then 时不执行第三个 then 但是 即使 Promise 被拒绝 调用第二个 then 并且代码返回 rejected 然后返回 undefined 它仍然调用第三个 then 如何不运行第三个 then 这样 未
  • 在新的 Google 协作平台 <嵌入 HTML> 中使用 localStorage 和 IndexedDB 不起作用

    我正在尝试将新的 Google 协作平台用于我开发的网页 但是 我在存储本地数据时遇到了问题 本地文件在 Windows 和 Apple safari chrome 中运行良好 从 Google 协作平台尝试一下 没有什么乐趣 此外 在 s
  • 如何在react-bootstrap中禁用表单提交的

    在下面的代码片段中 我有许多文本类型的输入表单 如果用户点击 我似乎会得到相同的合成事件 就像他们按下提交按钮一样 我想忽略作为表单提交 只允许一个人按下 提交 按钮 我删除了一些表单组以减少示例 在所有情况下 按钮或 ENTER 键 e
  • 如何更改 Google Maps v3 API for Directions 中的开始和结束标记图像

    我使用 DirectionsRender 绘制了一条路线 但我不知道如何用我自己的标记替换通用的 Google 标记 我知道并在正常的谷歌地图情况下使用它 但发现很难用开始和结束的方向标记来做到这一点 如果这是一个愚蠢的问题 感谢您的任何建
  • 如何使用javascript将大图像转换为十六进制?

    如果我尝试将图像转换为十六进制 无论我使用哪个函数 我都会收到此错误消息 该图像的大小为 7 MB 19812 毫秒 清理 1401 2 1455 0 gt 1401 2 1455 0 MB 9 9 0 ms 自上次 GC 以来 8 3 m
  • 隐藏 Div 的父级

    我只是想隐藏父divcomments section div class content content green div div div 我试过这个 document getElementById comments section pa
  • 设置 cookie 时中断 JavaScript 执行

    当设置 cookie 时 是否可以始终中断浏览器开发人员工具中的 javascript 执行 无需显式设置 JS 断点 document cookie 在 html head 块的开头添加此代码片段效果很好
  • 调整图像大小并将画布旋转 90 度

    这里有很多关于在 js 上使用画布旋转图像的主题 我阅读了其中的大部分内容 但无法找到解决我的问题的方法 我正在接收任何分辨率的图像 来自上传组件 我将其大小调整为 1024x768 如下所示 var canvas document cre
  • 如何解决 Typescript 构建中的错误“找不到模块 'jquery'”

    我目前在 ts 文件的顶部有这个import require jquery 我这样做是因为我试图在我的打字稿文件中使用 jquery 但我似乎无法编译它 因为它返回标题中所述的错误 我正在使用 ASP NET CORE 脚本文件夹 tsco
  • 检查 jQuery 1.7 中是否存在基于文本的选择选项

    所以我有以下 HTML 片段
  • window.location 和 location.href 之间的区别

    我对之间的区别感到困惑window location and location href 两者似乎都以相同的方式行事 有什么不同 window location是一个对象 它保存有关当前文档位置的所有信息 主机 href 端口 协议等 lo
  • Vuejs 2:去抖动不适用于手表选项

    当我在 VueJs 中反跳此函数时 如果我提供毫秒数作为原语 它就可以正常工作 但是 如果我将其提供为对 prop 的引用 它会忽略它 这是道具的缩写版本 props debounce type Number default 500 这是不
  • 在移动设备上滚动

    这个问题更多的是一个建议研究 我确实希望它对其他人有帮助 并且它不会关闭 因为我不太确定在哪里寻求有关此事的建议 在过去的 6 个月里 我一直在进行移动开发 我有机会处理各种设备上的各种情况和错误 最麻烦的是滚动问题 当涉及到在网站的多个区
  • Javascript - 水波纹效果

    我需要 JS 上的脚本 它将以 水波纹 样式更改 images html 抱歉 6MB GIF 文件 http fcuunited ru temp listening2 gif http fcunited ru temp listening
  • 在 CKEditor 中设置字体大小和字体系列

    我正在使用 ckeditor 我想问一下这个插件如何设置font family和font size 我尝试过使用 CKEDITOR config font defaultLabel Arial CKEDITOR config fontSiz
  • 使用 MongoDB 和 Nodejs 插入和查询日期

    我需要一些帮助在 mongodb 和 nodejs 中按日期查找记录 我将日期添加到抓取脚本中的 json 对象 如下所示 jsonObj last updated new Date 该对象被插入到 mongodb 中 我可以看到如下 la
  • 如何使用asm.js进行测试和开发?

    最近我读到asm js规范 看起来很酷 但是是否有任何环境 工具来开发和测试这个工具 这还只是处于规范阶段吗 您可以尝试使用 emscripten 和 ASM JS 1 并从侧分支在 firefox 构建中运行它 有关 asm js 的链接

随机推荐