props传来的每个list对象加属性

发布时间 2023-12-03 20:53:45作者: 朱呀朱~
  • 情景:在 vue 组件获取了 js 里存储的数据后,想要给获取的 list 的每一条数据加上相同的属性作为公共部分

    // 页面打开即加载方法
    mounted() {
      this.init()
    },
    
    methods:{
      init(){
      // 给新的进行重新赋d:
        this.xAxisStyle.forEach((xAxis) => {
          xAxis.data = this.xAxisData;
        })
      
        this.series.forEach((series) => {
          series.smooth = this.smooth;
          series.type = this.seriesType;
          series.showSymbol = this.showSymbol;
          // 注意,在js里要存在emphasis这一属性,只是{}空的也好,否则会显示找不到emphasis属性
          series.emphasis.disabled = this.showGl;
    	  // 还可以获取每次循环的name属性值并存储
          if (series.hasOwnProperty('name')) {
            this.dataTl.push(series.name);
          }
        })
    
      // 如果有需要还可以用for循环 —— 指存在根据循环次数而改变的属性时
        for (let i = 0; i < this.grid.length; i++) {
          // 使用展开运算符创建新的对象(保留着原属性数据)
          let newGrid = {...this.grid[i]};
                                           
          newGrid.left = this.gridLeft + '%';
          newGrid.width = this.gridWidth + '%';
          newGrid.height = this.gridHeight + '%';
          // 第i个的top为百分之(this.gridTop + i*newGrid.height + i*this.gridJX)  
          newGrid.top = (this.gridTop + this.gridHeight*i + this.gridJx*i) + '%'; 
      	  // 将新的对象添加到 grid 数组中
          option.grid.push(newGrid);  
        }
      }
    }