首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我如何接近分享ng模板整个我的角度应用程序?

我如何接近分享ng模板整个我的角度应用程序?
EN

Stack Overflow用户
提问于 2017-08-11 17:35:47
回答 1查看 5.6K关注 0票数 3

假设我在角中有一个类型提前组件,显示它从后端端点接收到的查找匹配。我想要样式匹配的项目,我可以这样做通过ng-templatengTemplateOutletngTemplateOutletContext

这里没问题。

问题是-我如何应用干法并使这个ng模板可重用,这样我就不必将它粘贴到每个想要使用它的容器中?

更新:,同时,我希望能够为需要另一个模板的其他类型的实体使用typeahead组件。

我不是在要求代码,而是询问一般的方法。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-11 17:45:01

将所需的HTML添加到可重用组件中。给那个组件一个选择器。然后在任何需要它的HTML模板中使用这个选择器。

这里是pm星,它是一个显示恒星而不是数字等级的组件。

代码语言:javascript
复制
import { Component, OnChanges, Input, EventEmitter, Output } from '@angular/core';

@Component({
    selector: 'pm-star',
    templateUrl: './star.component.html',
    styleUrls: ['./star.component.css']
})
export class StarComponent implements OnChanges {
    @Input() rating: number;
    starWidth: number;
    @Output() ratingClicked: EventEmitter<string> =
            new EventEmitter<string>();

    ngOnChanges(): void {
        this.starWidth = this.rating * 86 / 5;
    }

    onClick(): void {
        this.ratingClicked.emit(`The rating ${this.rating} was clicked!`);
    }
}

因此,在此模板中定义的代码可以包含在任何需要它的组件中:

代码语言:javascript
复制
 <pm-star [rating]='product.starRating'
      (ratingClicked)='onRatingClicked($event)'>
 </pm-star>
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45640867

复制
相关文章

相似问题

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