【发布时间】:2018-07-26 03:53:28
【问题描述】:
我创建了一个带有选择器“app-circle”的组件。组件的 HTML 包含一个圆的 SVG。
我想要的是 - 在我的主 HTML 中使用多个“app-circle”来绘制具有不同属性(例如颜色)的多个圆圈。但我似乎无法做到这一点。基本上,我的意图是将“app-circle”重新用作多个对象。
(请原谅我的幼稚;我是 Angular 和 Web 开发的新手,我的经验主要是 C#,这可能是我难以理解 Angular/Web 概念和工作方式的原因)
这里是代码:-
main.html
<div class="diagram-wrapper">
<app-circle></app-circle>
<app-circle></app-circle>
</div>
circle.component.html
<svg class="range" height="100" width="100">
<circle class="circle" cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
circle.component.ts
import { Component, OnInit, AfterViewInit } from '@angular/core';
@Component({
selector: 'app-circle',
templateUrl: './circle.component.html',
styleUrls: ['./circle.component.scss']
})
export class CircleComponent implements OnInit, AfterViewInit {
constructor() { }
ngOnInit() { }
ngAfterViewInit() {
// Circle logic (fill colors, etc.)
}
【问题讨论】:
-
这应该可以。你能在stackblitz.io 上重现你的问题吗?这可以让我们看到你做错了什么
-
您需要使用
@Input()来自定义您的角度组件。如果你不使用@Input(),所有实例看起来都一样 -
阅读更多here
-
@trichetriche 感谢您的回复。这是 stackblitz 的链接: - stackblitz.com/edit/… 这很好用。但是两个圆圈的颜色相同。我想要的是有两个(或更多)具有不同颜色(或其他属性)的圆圈。我想把它做成一个 UI 控件,我可以在不同的地方重复使用它而不会相互影响。
-
@CristianTraìna 感谢您的建议。会试试的。
标签: javascript angular