1. 程式人生 > >vue系列(一)子組件和父組件

vue系列(一)子組件和父組件

top parent sage too msg pro 工具 light java

父組件傳遞數據到子組件props

父組件

<template>
<div class="main">
    <div class="top">
        <span :class="{action:ind===index}" v-for="(item,index) in lanMenu" v-on:click="clickMenu(index,item.con)">{{item.con}}</span>    
    </div>  
    <div class="con">
        <router v-bind:message="parentMsg"></router>
    </div> 
</div> 
</template>
<script>
import routerView from ‘./routerView.vue‘
export default{
    data(){
        return{
            lanMenu:[
                {con:‘全部‘,icon:‘all‘},
                {con:‘Android‘,icon:‘android‘},
                {con:‘前端‘,icon:‘web‘},
                {con:‘iOS‘,icon:‘ios‘},
                {con:‘後端‘,icon:‘java‘},
                {con:‘設計‘,icon:‘design‘},
                {con:‘產品‘,icon:‘products‘},
                {con:‘工具資料‘,icon:‘tool‘},
                {con:‘閱讀‘,icon:‘read‘},
            ],
            ind:0,
            parentMsg:‘all‘
        }
    },
    components:{
       "router":routerView
    },
    methods:{
        clickMenu(index,con){
            //改變默認的ind 改變選中的背景顏色
            this.ind=index;
            //父組件傳值給子組件
           this.parentMsg=con;
        }
    }
}

子組件

<template>
<div class="row">
    <p>{{message}}</p>
    <!--<div class="col-sm-9">
        <div><p>原創文章</p></div>
        <div>
            <div class="everycon" v-for="(item,index) in every">
                <div>
                    <span><span>
                    <span></span>
                </div>
                <h2></h2>
                <p></p>
                <div>
                    <span>閱讀全文</span>
                </div>    
            </div>
        </div>
    </div>
    <div class="col-sm-3"></div>-->
</div>
</template>

<script>
export default {
    data(){
        return{}
    },
    props:[‘message‘],
    methods:{
        
    }

}
</script>

  

vue系列(一)子組件和父組件