首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >加一个合成的吸引器

加一个合成的吸引器
EN

Stack Overflow用户
提问于 2016-02-16 13:06:24
回答 2查看 108关注 0票数 2

嗨,我刚刚开始我的第一个角2项目,我的第一个任务是移植一个现有的和1指令。我需要做的是将svg元素的属性设置为“translate( outerRadius,innerRadius )”,其中outerRadius和innerRadius是来自组件的变量。这就是我尝试过的:

代码语言:javascript
复制
<g [attr.transform]="translate(outerRadius, innerRadius)"></g>

此语法给出了以下错误:

这是我的组件代码:

代码语言:javascript
复制
import {Component, Input, OnInit, ElementRef} from 'angular2/core';
import {NgStyle} from 'angular2/common';

@Component({
    selector: 'donut-chart',
    templateUrl: './app/engager/components/donut-chart.component.html',
    directives: [NgStyle]
})
export class DonutChart implements OnInit {

    public outerRadius: number = 50;
    public innerRadius: number;

    ngOnInit() {
        const defaultRadius: number = 45;

        this.innerRadius = this.innerRadius < this.outerRadius ? this.innerRadius : defaultRadius;

    }
}

我做错了什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-16 13:23:15

您可以使用类型记录的模板串内插:

代码语言:javascript
复制
<g [attr.transform]="translateAsString"></g>

export class DonutChart implements OnInit {

  public outerRadius: number = 50;
  public innerRadius: number;
  public translateAsString: string;

  ngOnInit() {
    const defaultRadius: number = 45;

    this.innerRadius = this.innerRadius < this.outerRadius ? this.innerRadius : defaultRadius;
    this.translateAsString = `translate(${this.outerRadius}, ${this.innerRadius})`;

  }
}
票数 2
EN

Stack Overflow用户

发布于 2016-02-16 14:15:38

在这个标记<g [attr.transform]="translate(outerRadius, innerRadius)"></g>中,translate(outerRadius, innerRadius)被解释为一个表达式的角度。outerRadiusinnerRadius是有效变量,但translate不是。

试一试

代码语言:javascript
复制
<g [attr.transform]="'translate(' + outerRadius + ',' + innerRadius + ')'"></g>

这将呈现为<g transform="translate(50, 45)"></g>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35433465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档