angular7:- 一个组件变成两个兄弟组件
angular7:- one component into two siblings component
我有一个 angular
组件,它每月显示 angular-calendar
(Jan/2019,2019 年 2 月...)。我显示 6 个月,还有 navigation
按钮来回移动 calendar
个月。首先,我创建了一个组件并在那里实现了所有逻辑。但我需要为 angular-calendar
创建单独的组件并为 navigation
按钮创建单独的组件。
这是工作示例的 stackblitz
:- https://stackblitz.com/edit/ang-c-p-7qundm
<!--code for navigation-->
<div class="display-calendar">
<button class="btn btn-sm btn-primary" (click)="getNextData()">Click next</button>
<button class="btn btn-sm btn-primary" (click)="getPreviousData()">Click previous </button>
</div>
<!--code for calendar months-->
<div class="row-items" *ngFor="let month of months">
<mat-calendar [dateClass]="dateClass()" [startAt]="month" [selected]="selectedDate"
(selectedChange)="onSelect($event)"></mat-calendar>
</div>
Ts代码
ngOnInit() {
this.getMonths(this.year, this.month);
}
//show calendar in months
getMonths(year:number, month:number) {
this.months = [];
for (let i = 0; i < 6; i++) {
this.months.push(new Date(year, month++));
}
}
//navigation for next Month
getNextData() {
if(this.curMonth+1 > this.month && this.curYear+1 >= this.year){
this.month++
}
this.getMonths(this.year, this.month);
}
//Navigation for previous Months
getPreviousData(){
if(this.curMonth-12 < this.month){
this.month--
}
this.getMonths(this.year, this.month);
}
我想做服务或者输入法。但是我很困惑。
this.getMonths(this.year, this.month);
该方法需要在导航组件和日历组件中调用
假设你有
<navigation-control [calendar]="calendar"></navigation-control>
<multiple-calendar #calendar></multiple-calendar #calendar>
您可以通过导航控件
@Input() calendar:any
next()
{
this.calendar.month++;
//or this.calendar.next()
}
prev()
{
this.calendar.month--;
//or this.calendar.prev()
}
这只是一个想法
我有一个 angular
组件,它每月显示 angular-calendar
(Jan/2019,2019 年 2 月...)。我显示 6 个月,还有 navigation
按钮来回移动 calendar
个月。首先,我创建了一个组件并在那里实现了所有逻辑。但我需要为 angular-calendar
创建单独的组件并为 navigation
按钮创建单独的组件。
这是工作示例的 stackblitz
:- https://stackblitz.com/edit/ang-c-p-7qundm
<!--code for navigation-->
<div class="display-calendar">
<button class="btn btn-sm btn-primary" (click)="getNextData()">Click next</button>
<button class="btn btn-sm btn-primary" (click)="getPreviousData()">Click previous </button>
</div>
<!--code for calendar months-->
<div class="row-items" *ngFor="let month of months">
<mat-calendar [dateClass]="dateClass()" [startAt]="month" [selected]="selectedDate"
(selectedChange)="onSelect($event)"></mat-calendar>
</div>
Ts代码
ngOnInit() {
this.getMonths(this.year, this.month);
}
//show calendar in months
getMonths(year:number, month:number) {
this.months = [];
for (let i = 0; i < 6; i++) {
this.months.push(new Date(year, month++));
}
}
//navigation for next Month
getNextData() {
if(this.curMonth+1 > this.month && this.curYear+1 >= this.year){
this.month++
}
this.getMonths(this.year, this.month);
}
//Navigation for previous Months
getPreviousData(){
if(this.curMonth-12 < this.month){
this.month--
}
this.getMonths(this.year, this.month);
}
我想做服务或者输入法。但是我很困惑。
this.getMonths(this.year, this.month);
该方法需要在导航组件和日历组件中调用
假设你有
<navigation-control [calendar]="calendar"></navigation-control>
<multiple-calendar #calendar></multiple-calendar #calendar>
您可以通过导航控件
@Input() calendar:any
next()
{
this.calendar.month++;
//or this.calendar.next()
}
prev()
{
this.calendar.month--;
//or this.calendar.prev()
}
这只是一个想法