vue父組件向子組件傳遞數值 props


vue 組件操作避免不了傳值的問題,傳值如何操作,項目中筆記記錄點滴

項目原型創建繪圖組件,實現組件隨處引入,這就涉及到,值也是可變的,所以需要父類傳值。

[外鏈圖片轉存失敗(img-DNHoNzUq-1562913189358)(/Users/admin/Library/Application Support/typora-user-images/image-20190712141749895.png)]

  • 1.在父組件中將值設置

[外鏈圖片轉存失敗(img-HiQI5G6b-1562913189361)(/Users/admin/Library/Application Support/typora-user-images/image-20190712142147479.png)]

  • 2.傳遞值

[外鏈圖片轉存失敗(img-FMJMHNWN-1562913189362)(/Users/admin/Library/Application Support/typora-user-images/image-20190712142616891.png)]

  • 3.在子組件中使用props接受父組件傳遞的值

[外鏈圖片轉存失敗(img-foh6mcXN-1562913189363)(/Users/admin/Library/Application Support/typora-user-images/image-20190712142410910.png)]

記錄一下自己的開發,也希望給到剛剛學習的人一些幫助,下面貼上代碼

  • 父組件
<template>
    <div>
        <el-row :gutter="20">
            <el-col>
                <Schart :polar="polar"></Schart>
            </el-col>
        </el-row>
    </div>
</template>

<script>
    import Schart from './chart/Line';
    export default {
        name: 'dashboard',
        data() {
            let datas = []

            for (let i = 0; i <= 360; i++) {
                let t = i / 180 * Math.PI
                let r = Math.sin(2 * t) * Math.cos(2 * t)
                datas.push([r, i])
            }

            return {
                polar: {
                    title: {
                        text: '極坐標雙數值軸'
                    },
                    legend: {
                        data: ['line']
                    },
                    polar: {
                        center: ['50%', '54%']
                    },
                    tooltip: {
                        trigger: 'item',
                        axisPointer: {
                            type: 'cross'
                        }
                    },
                    angleAxis: {
                        type: 'value',
                        startAngle: 0
                    },
                    radiusAxis: {
                        min: 0
                    },
                    series: [
                        {
                            coordinateSystem: 'polar',
                            name: 'line',
                            type: 'line',
                            showSymbol: false,
                            data: datas
                        }
                    ],
                    animationDuration: 2000
                },
            }
        },
        components: {
            Schart
        },
   
    }
</script>

  • 2.子組件
<template>
    <v-chart :options="polar"/>
</template>
<script>
    import ECharts from 'vue-echarts'
    import 'echarts/lib/chart/line'
    import 'echarts/lib/component/polar'

export default {
    name:'Line',
    data() {

    },
    props:{
        polar: {
            type:Array,
            required:true
        }
    },
    components: {
        'v-chart': ECharts
    },
}
</script>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM