angular - 角度选择更改刷新组件
问题描述
我有一个 Angular 7 组件,它在 . 然后根据所选值创建一个嵌套组件(日历)。我只希望更改事件没有选择刷新嵌套组件。加载时很好。
我是新手,我应该在我的角度课程中错过一些东西,但我不明白是什么。
这是我的代码:
<select class="sites" [(ngModel)]="selectedSite" (ngModelChange)="onChangeSite($event)">
<option *ngFor='let site of data.sites' [ngValue]='site.id'>{{ site.name }}</option>
</select>
<app-weeklycalendar [calendar]='selectedSite'></app-weeklycalendar>
我想我应该在 app-weeklycalendar 中添加一些内容,但我不知道是什么
.ts
export class SiteCalendarComponent implements OnInit {
ready: Promise<boolean>;
private data = {};
private selectedSite = 1;
private calendar = {};
constructor(private App:AppService, private Route: ActivatedRoute) { }
ngOnInit() {
this.App.get("sites/activesites").subscribe(
result => {
this.data = result;
this.ready = Promise.resolve(true);
})
}
onChangeSite(siteId) {
this.selectedSite = siteId;
console.log(this.selectedSite);
}
}
感谢您的回复。如果您可以添加解释,这将对我有所帮助。
解决方案
@Input() 属性更改检测的一种方法可能是:
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-weekly-calendar',
template: `Your code`
})
export class WeeklycalendarComponent implements OnInit {
private _calendar: number;
@Input() set calendar(value: number) {
this._calendar = value;
// Refresh the calendar when a value changes
};
get calendar(): number {
return this._calendar;
}
constructor() { }
ngOnInit() { }
}
有用的资源:
推荐阅读
- javascript - 如何在 React 中使用 webkit
- c# - 在 C# 中除以两位小数时得到不正确的输出
- php - IntlDateFormatter 返回错误的年份
- mysql - 在 SQL 中从多对多关系创建队列
- c# - 将 byte[] 图像转换为字符串
- mongodb - 当父母在每条记录中具有不同的名称时,在mongodb集合中选择子元素
- python - 删除重复项并在特定输出中打印字符串
- sql - 检查每一行和每一列中是否存在特定数据的有效方法?
- c - ip_rcv(在 ip_input.c for ipv4 中)在环回模式下的行为
- javascript - 在 asyncStorage 中存储持久对象