文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

vue子组件如何使用父组件传过来的值

2024-04-02 19:55

关注

子组件使用父组件传过来的值

父组件

<alarmstatistics :roless.sync="role"></alarmstatistics>
  import alarmstatistics from "./alarmstatistics.vue";
  components: {
    alarmstatistics,
  },

子组件

  props: ["roless"],
  
  data() {
    return {
      role:this.roless,
  },
  
  mounted() {
    if(this.role==3){
      this.chartY = "9.5%";
    }else{
      this.chartY = "18%";
    }
  },

如果是使用父组件接口返回来的值,在html中直接使用

  props: ["infoDatac"],
      <li
        v-for="(item,i) in infoDatac.notice.admitted"
        :key="'A'+ i"
      >
        <div>申请单号:{{ item.applyCode }}</div>
        <div>使用时间:{{ item.useTime }}</div>
        <span>{{ item.title }}</span>
      </li>

vue子组件调用父组件数据

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <script src="js/vue.js" type="text/javascript" charset="utf-8"></script>
    </head>
    <body>
        <div class="" id="myVue">
            <my-component>
            </my-component>
        </div>
        <!--子组件-->
        <template id="child"  >
            <div id="">
                <div @click='changedata'>子组件:{{data}}</div>
            </div>
        </template>
        <!--父组件-->
        <template id="father">
            <div>
                <mycomponent-child v-bind:data="str"></mycomponent-child>
            </div>
        </template>
    </body>
    <script type="text/javascript" charset="utf-8">
        
        //当点击子组件,触发子组件的changedata方法,通过this.data = "父组件值被子组件修改了";改变了父级的str的值
        //通过  this.$parent.fn()访问父组件的方法fn()。
        var child={
            props:["data"],
            template:"#child",
            data:function(){
                return{
                    str:"我是子组件数据"
                }
            },
            methods:{
                changedata:function(){
                    this.data = "父组件值被子组件修改了";
                    this.$parent.fn();
                }
           }
        }
        
        
        var father={
            template:"#father",
            data:function(){
                return{
                    str:"我是父组件数据"
                }
            },
            methods:{
                fn:function(){
                    alert("我是父组件方法")
                }
            },
            components:{
                "mycomponentChild":child
            }
        }
        
        vm=new Vue({
            //el:"#myVue",
            components:{
                "myComponent":father
            }
        }).$mount('#myVue');
        
    </script>
</html>

以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。 

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯