【发布时间】:2020-07-10 11:01:55
【问题描述】:
我有 2 个组件,一个侧边栏和主组件。我在侧边栏组件中有一些复选框和一个按钮,当我单击该按钮时,我需要在主组件上显示选中的复选框值。我已经收到警报但是如何获取值,我无法获取它。这是下面的代码
sidebarcomponent.html
<div class="header" *ngIf="router.url !== '/' && router.url !== '/login'">
<div class="citilist p-1">List of Cities</div>
<ul class="p-2">
<li class="mb-3 p-1 border-bottom" *ngFor="let city of list;let i = index"><span class="mr-2"><input type="checkbox"></span><span>{{city.city}}</span></li>
</ul>
<div class="float-right mr-1 submitbtn"><button (click)="downloadClicked.emit(null)" class="btn btn-primary" type="button">Submit</button></div>
</div>
sidebarcomponent.ts
import { Component, OnInit,Output,EventEmitter} from '@angular/core';
import { Router } from "@angular/router";
import { CommonserviceService } from './../../utilities/services/commonservice.service';
@Component({
selector: 'app-sidebar',
templateUrl: './sidebar.component.html',
styleUrls: ['./sidebar.component.css']
})
export class SidebarComponent implements OnInit {
@Output()
downloadClicked: EventEmitter<any> = new EventEmitter();
list: any[] = [{"city":"MOSCOW"},{"city":"TOKYO"},{"city":"LONDON"},{"city":"BRASILIA"},{"city":"NEW DELHI"},{"city":"KATHMANDU"},{"city":"PARIS"}];
constructor(public router: Router,private commonserviceService: CommonserviceService){}
ngOnInit() {
}
}
homecomponent.html
<div class="row m-0">
<div class="col-sm-3 p-0 border border-bottom-0 maindiv">
<app-sidebar (downloadClicked)="generarPDF()"></app-sidebar>
</div>
<div class="col-sm-9 p-0"><div class="citilist p-1">Output</div></div>
</div>
homecomponent.ts
import { Component, OnInit,ViewChild, ElementRef } from '@angular/core';
import { CommonserviceService } from './../utilities/services/commonservice.service';
@Component({
selector: 'app-home',
templateUrl: './home.component.html',
styleUrls: ['./home.component.css']
})
export class HomeComponent implements OnInit {
getListData: any;
constructor(private commonserviceService: CommonserviceService) { }
@ViewChild('content', { 'static': true}) content:ElementRef;
name:string;
ngOnInit() {
}
generarPDF() {
this.name="hello";
alert(this.name);
}
}
【问题讨论】:
标签: angular typescript