代码之家  ›  专栏  ›  技术社区  ›  ofey

Vue绑定SVG变换旋转

  •  0
  • ofey  · 技术社区  · 7 年前

    尝试将svg组旋转10度

    data():{ 
         deg: 90,
         groupCenter: [100,200]
    }
    

    :transform="{'rotate(' + deg + ' ' + groupCenter[0] + ' ' + groupCenter[1] + ')'}"
    

    <circle style="mix-blend-mode: multiply;" v-for="(el,index) in element.coords" :fill="el.color" :key="index" :r="el.radius" :cy="el.y" :cx="el.x" :transform="{'rotate(' + deg + ' ' + groupCenter[0] + ' ' + groupCenter[1] + ')'}" />
    

    我知道,

    - invalid expression: Unexpected token + in
    
        {'rotate(' + deg + ' ' + groupCenter[0] + ' ' + groupCenter[1] + ')'}
    
      Raw expression: :transform="{'rotate(' + deg + ' ' + groupCenter[0] + ' ' + groupCenter[1] + ')'}"
    

    解决方案:

    :transform="rotateShape(index)"
    

    方法呢,,

    rotateShape(){
                  return "rotate(" + this.deg + " 0 0)"
                },
    

    0 回复  |  直到 7 年前
        1
  •  1
  •   StevieP    6 年前

    transform="rotate(90deg)" ,因此我认为您需要连接一些部分字符串:

    :transform="'rotate(' + deg + ' deg)'"
    
        2
  •  0
  •   pwinty    5 年前

    template literals

    :transform="`rotate(${deg} deg)`"