Angular组件应该是简单且可重用的。每个组件的职责应该被限制在一个特定的功能领域内。例如,一个位置信息组件仅显示位置信息,而不应该涵盖任何其他领域。
示例代码:
import { Component, Input } from '@angular/core';
@Component({ selector: 'location-info', templateUrl: './location-info.component.html', styleUrls: ['./location-info.component.css'] }) export class LocationInfoComponent { @Input() location: any; }
Angular组件的外观应该易于控制和更改。通过利用属性,您可以控制组件的样式和行为。在组件中使用属性也能够使您的代码更加灵活和可扩展。
示例代码:
import { Component, Input, Output, EventEmitter } from '@angular/core';
@Component({
selector: 'like-button',
template:
,
styleUrls: ['./like-button.component.css']
})
export class LikeButtonComponent {
@Input() text: string = 'Like';
@Input() liked: boolean = false;
@Output() likeClick: EventEmitter
like() { this.liked = !this.liked; this.likeClick.emit(this.liked); } }
通过在组件的ngOnInit()方法中初始化属性,可以保证该属性在组件的完整声明周期中可用。
示例代码:
import { Component, OnInit } from '@angular/core';
@Component({ selector: 'my-component', template: '
{{message}}
' }) export class MyComponent implements OnInit { message: string;ngOnInit() { this.message = 'Hello, world!'; } }
使用