ml-solar-system 类太阳系首页组件
基本用法
安装:
npm i ml-solar-system
使用:
import solarSystem from 'ml-solar-system'
Vue.use(solarSystem);
<div class="solar-system" style="width:100%;height:500px;font-size:12px;"><ml-solar-system :ball-group="ballGroup" :center-sun = "centerSun" @clickBall="clickCallback"></ml-solar-system></div><script>export default {name: 'App',data () {return {centerSun: {centerSunImg: require('../assets/images/solar/sun.png'),centerSunLabel: '数据应用服务',centerSunWidth: '30em',centerSunHeight: '34em',},ballGroup: [{orbitR: '35%', // 轨道半径ballPositionDeg: 30, // 球初始位置角度ballLabel: '', // 球对应名称ballSize: '2.7em', // 球大小ballLabelColor: 'red', // 名称颜色speed: '10s', // 每个轨道速度ballImg: require('../assets/images/solar/ball21.png') // 球图片},{orbitR: '50%', // 轨道半径ballPositionDeg: 330, // 球初始位置角度ballLabel: 'ball1', // 球对应名称ballSize: '5em', // 球大小ballLabelColor: 'red', // 名称颜色speed: '50s', // 每个轨道速度ballImg: require('../assets/images/solar/ball31.png') // 球图片},{orbitR: '70%', // 轨道半径ballPositionDeg: 60, // 球初始位置角度ballLabel: 'ball2', // 球对应名称ballSize: '8.5em', // 球大小ballLabelColor: 'red', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball41.png') // 球图片},{orbitR: '70%', // 轨道半径ballPositionDeg: 150, // 球初始位置角度ballLabel: 'ball3', // 球对应名称ballSize: '9.5em', // 球大小ballLabelColor: '#fff', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball42.png') // 球图片},{orbitR: '80%', // 轨道半径ballPositionDeg: 210, // 球初始位置角度ballLabel: 'ball4', // 球对应名称ballSize: '12.5em', // 球大小ballLabelColor: 'orange', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball51.png') // 球图片},{orbitR: '80%', // 轨道半径ballPositionDeg: 100, // 球初始位置角度ballLabel: 'ball5', // 球对应名称ballSize: '7.4em', // 球大小ballLabelColor: '#55bef3', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball52.png') // 球图片},{orbitR: '80%', // 轨道半径ballPositionDeg: 270, // 球初始位置角度ballLabel: 'ball6', // 球对应名称ballSize: '5.8em', // 球大小ballLabelColor: '#eeb364', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball53.png') // 球图片},{orbitR: '80%', // 轨道半径ballPositionDeg: 0, // 球初始位置角度ballLabel: '', // 球对应名称ballSize: '2.5em', // 球大小ballLabelColor: 'red', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball54.png') // 球图片},{orbitR: '98%', // 轨道半径ballPositionDeg: 320, // 球初始位置角度ballLabel: 'ball7', // 球对应名称ballSize: '10em', // 球大小ballLabelColor: 'pink', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball61.png') // 球图片},{orbitR: '98%', // 轨道半径ballPositionDeg: 25, // 球初始位置角度ballLabel: 'ball8', // 球对应名称ballSize: '9em', // 球大小ballLabelColor: 'yellow', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball62.png') // 球图片},{orbitR: '98%', // 轨道半径ballPositionDeg: 180, // 球初始位置角度ballLabel: '', // 球对应名称ballSize: '6em', // 球大小ballLabelColor: 'red', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball63.png') // 球图片},{orbitR: '98%', // 轨道半径ballPositionDeg: 240, // 球初始位置角度ballLabel: '', // 球对应名称ballSize: '1em', // 球大小ballLabelColor: 'red', // 名称颜色speed: '100s', // 每个轨道速度ballImg: require('../assets/images/solar/ball55.png') // 球图片}]}},methods: {clickCallback ({item, index}) {console.log(index);console.log(item);alert(index + ': ' + JSON.stringify(item));}}}</script>
:::
参数说明
参数 | 说明 |
---|---|
centerSun | 中心球的数据配置,包括图片、宽、高以及中间文字(当然样式也可在css中配置) |
ballGroup | 球和轨道数据配置 (每个球以及其所在轨道为一项,同上,样式也可在css中配置) |
{
orbitR: '105em', // 轨道半径(轨道为长宽相等的圆)(需带单位,%,px,rem,em均可)reqiured
ballPositionDeg: 180, // 球初始位置相对于中心点的夹角
ballLabel: 'ball1', // 球对应名称
ballSize: '2.5em', // 球大小 (需带单位,px,rem,em均可)reqiured
ballLabelColor: 'red', // 名称颜色 默认为白色
speed: '100s', // 每个轨道速度 默认为100s
ballImg: require('../assets/images/solar/ball63.png') // 球图片 reqiured
}
事件
名称 | 说明 |
---|---|
clickBall | 点击事件(item, index)参数分别为点击的此球的ballGroup配置项,以及index |