vuejs2.0子组件改变父组件的数据实例

发布时间 - 2026-01-11 01:04:00    点击率:

在vue2.0之后的版本中,不允许子组件直接改变父组件的数据,在1.0的版本中可以这样操作的,但是往往项目需求需要改变父组件的数据,2.0也是可一个,区别是,当我们把父元素的数据给子组件时,需要传一个对象,子组件通过访问对象中的属性操作数据,下面是演示

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script type="text/javascript" src="vue.js"></script>  
  <script type="text/javascript">
    window.onload = function(){
      var app = new Vue({
      el:'#box',
      data:{
        myData:{
          info:'父组件信息'
        }
      },
      components:{
        'v-com':{
          props:['data'],
          template:'#tpl',
          methods:{
            change(){
              this.data.info = 'change info'
            }
          }
        }
      }
    })
    }
  </script>
</head>
<body>
  <!-- 子组件改变父组件的数据 -->
  <div id="box">
    <div>
      <p>{{myData.info}}</p>
      <v-com :data ="myData"></v-com>
    </div>
  </div>

  <!-- 模板 -->
  <template id="tpl">
    <div>
      <button @click="change">change</button>
      <p>{{data.info}}</p>
    </div>
  </template>

</body>
</html>

这种是同步改变数据,就是说子组件的数据改变,父组件数据也跟着改变,下面展示非同步的情况

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
  <script type="text/javascript" src="vue.js"></script>  
  <script type="text/javascript">
    window.onload = function(){
      var app = new Vue({
      el:'#box',
      data:{
        myData:'父组件信息'
      },
      components:{
        'v-com':{
          data() {
            return {
              childData:''
            }
          },
          props:['data'],
          // dom渲染完毕
          mounted(){
            this.childData = this.data
          },
          template:'#tpl',
          methods:{
            change(){
              this.childData = 'change info'
            }
          }
        }
      }
    })
    }
  </script>
</head>
<body>
  <!-- 子组件改变父组件的数据,不同步 -->
  <div id="box">
    <div>
      <p>{{myData}}</p>
      <v-com :data ="myData"></v-com>
    </div>
  </div>

  <!-- 模板 -->
  <template id="tpl">
    <div>
      <button @click="change">change</button>
      <p>{{childData}}</p>
    </div>
  </template>

</body>
</html>

这里巧妙的通过mounted这个方法进行了中转,实现了想要的效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# vue  # 改变组件数据  # 改变父组件的值  # vue子组件改变父组件  # 解决Vue.js父组件$on无法监听子组件$emit触发事件的问题  # VUEJS 2.0 子组件访问/调用父组件的实例  # Vuejs 2.0 子组件访问/调用父组件的方法(示例代码)  # vue.js中父组件调用子组件的内部方法示例  # 详解vue.js2.0父组件点击触发子组件方法  # vue.js父组件使用外部对象的方法示例  # 基于JS实现父组件的请求服务过程解析  # 当我们  # 大家多多  # 进行了  # 象中  # 实现了  # title  # Document  # UTF  # head  # meta  # charset  # javascript  # src  # script  # type  # text  # en  # pre  # class 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试  北京的网站制作公司有哪些,哪个视频网站最好?  如何快速查询网址的建站时间与历史轨迹?  Laravel怎么连接多个数据库_Laravel多数据库连接配置  详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南  如何在局域网内绑定自建网站域名?  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  Laravel模型事件有哪些_Laravel Model Event生命周期详解  海南网站制作公司有哪些,海口网是哪家的?  如何快速上传建站程序避免常见错误?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  如何为不同团队 ID 动态生成多个独立按钮  如何在云虚拟主机上快速搭建个人网站?  详解阿里云nginx服务器多站点的配置  专业商城网站制作公司有哪些,pi商城官网是哪个?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  如何登录建站主机?访问步骤全解析  如何实现javascript表单验证_正则表达式有哪些实用技巧  Laravel怎么配置.env环境变量_Laravel生产环境敏感数据保护与读取【方法】  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  英语简历制作免费网站推荐,如何将简历翻译成英文?  Laravel怎么进行数据库回滚_Laravel Migration数据库版本控制与回滚操作  详解Android图表 MPAndroidChart折线图  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  UC浏览器如何设置启动页 UC浏览器启动页设置方法  html如何与html链接_实现多个HTML页面互相链接【互相】  Laravel如何配置任务调度?(Cron Job示例)  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  潮流网站制作头像软件下载,适合母子的网名有哪些?  JS去除重复并统计数量的实现方法  EditPlus中的正则表达式实战(6)  Laravel如何使用Blade组件和插槽?(Component代码示例)  微信小程序 配置文件详细介绍  如何撰写建站申请书?关键要点有哪些?  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何在IIS中新建站点并配置端口与物理路径?  如何在阿里云ECS服务器部署织梦CMS网站?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何获取PHP WAP自助建站系统源码?  C++时间戳转换成日期时间的步骤和示例代码  悟空识字如何进行跟读录音_悟空识字开启麦克风权限与录音  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  Android自定义控件实现温度旋转按钮效果  高防服务器租用首荐平台,企业级优惠套餐快速部署  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程