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

首页 / 新闻资讯 / 正文

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

父组件

<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">          /*在父组件中的数据str,           * 将父组件的数据绑定到子组件的属性data上           * 然后在子组件中就可以通过props接收到,           * 这样在子组件中就可以使用变量 this.data1访问到 父组件的 str1对应的值了。           */          //当点击子组件,触发子组件的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>