🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
`审核人:欧阳德才` `被审核代码负责人:谢洋` `代码地址:https://192.168.1.240:8443/svn/repos/qingbao-wall` ### 存在的问题 #### 1、用ES6方法代替lodash方法(未修改) 之前合并配置之处用的是lodash的merge方法,可以用es6的Object.assign方法实现 ```javascript this.config = _.merge({}, defaultSetting, opt) ``` 解决方案: ```javascript this.config = Object.assign({}, defaultSetting, opt) ``` #### 2、d3属性设置优化 在设置d3对象属性时,建议把所有的属性设置包含在一个对象当中,不用分开设置 ```javascript text.attr('fill', (d, i) => `${type === 1 ? '#fff' : self.getColor(i)}`) .attr('text-anchor', (d) => self.midAngel(d) < Math.PI ? 'start' : 'end') .attr('font-size', 14) .attr('class', `${type === 1 ? 'name-text' : 'value-text'}`) .attr('transform', (d) => { let pos = self.lEndArc.centroid(d) let radius = outerRadius + 40 pos[0] = radius * (self.midAngel(d) < Math.PI ? 1.1 : -1.1) return `translate(${pos})` }) .attr('dy', `${type === 1 ? '1.2em' : '-0.5em'}`) ``` 解决方案: ```javascript text.attr({ 'fill':(d, i) => `${type === 1 ? '#fff' : self.getColor(i)}`, 'text-anchor': (d) => self.midAngel(d) < Math.PI ? 'start' : 'end', 'font-size': 14, 'class': `${type === 1 ? 'name-text' : 'value-text'}`, 'transform':(d) => { let pos = self.lEndArc.centroid(d) let radius = outerRadius + 40 pos[0] = radius * (self.midAngel(d) < Math.PI ? 1.1 : -1.1) return `translate(${pos})` }, 'dy': `${type === 1 ? '1.2em' : '-0.5em'}` }) ```