ng-bootstrap 구성 요소에 대화형 각도 차트 추가
참고: 이 튜토리얼은 작성 당시 최신 버전을 사용하여 작성되었습니다.
• 각도: v14.0.0
• Ng 부트스트랩: v13.0.0
• CanvasJS 차트: v3.6.7
Angular 앱 생성 및 ng-bootstrap 추가
1. Angular 프로젝트 생성
Angular CLI 을 사용하여 새로운 각도 프로젝트를 만듭니다. 이미 앱이 있는 경우 이 단계를 무시하십시오.
ng new angular-bootstrap-charts
? Would you like to add Angular routing? Yes
? Which stylesheet format would you like to use? CSS
2. 프로젝트에 ng-bootstrap 및 CanvasJS 각도 차트 구성 요소 추가
각도 프로젝트가 생성되면 프로젝트에 ng-bootstrap 및 CanvasJS 각도 차트를 추가합니다. ng-bootstrap은 Angular CLI 방식을 사용하거나 수동으로 'npm install package-name'을 수행하여 추가할 수 있습니다. 다음은 두 접근 방식의 구문입니다.
/* Angular CLI Way */
ng add @ng-bootstrap/ng-bootstrap
/* Manual Way */
npm install @ng-bootstrap/ng-bootstrap --save
그리고 CanvasJS 각도 차트는 official site에서 다운로드할 수 있습니다(npm 패키지는 공식 패키지가 아님) 자산 폴더에 저장하여 프로젝트로 가져올 수 있습니다.
패키지가 설치되면 모듈을 가져와서 등록해 봅시다. app.module.ts 파일을 열고 모듈을 등록합니다.
/* app.module.ts */
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
import * as CanvasJSAngularChart from '../assets/canvasjs.angular.component';
var CanvasJSChart = CanvasJSAngularChart.CanvasJSChart;
@NgModule({
declarations: [
AppComponent,
CanvasJSChart
],
imports: [
BrowserModule,
NgbModule
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
부트스트랩 탐색(탭) 구성 요소 추가
간단하게 하기 위해 앱에 bootstrap tabs을 추가해 보겠습니다. 모달, 아코디언 등과 같은 부트스트랩 구성 요소를 추가하는 것을 고려할 수 있습니다.
1. 부트스트랩 탐색 추가
<ul ngbNav #nav="ngbNav" class="nav-tabs">
<li [ngbNavItem]="1">
<a ngbNavLink>Line Chart</a>
<ng-template ngbNavContent>
</ng-template>
</li>
.
.
.
</ul>
<div [ngbNavOutlet]="nav" class="mt-2"></div>
2. 탐색에 차트 추가
<ul ngbNav #nav="ngbNav" class="nav-tabs">
<li [ngbNavItem]="1">
<a ngbNavLink>Line Chart</a>
<ng-template ngbNavContent>
<canvasjs-chart
[options]="lineChartOptions"
[styles]="{ width: '100%', height: '360px' }"
></canvasjs-chart>
</ng-template>
</li>
.
.
.
</ul>
<div [ngbNavOutlet]="nav" class="mt-2"></div>
3. 활성 탭에서만 차트 표시
탭에서 활성 탭의 콘텐츠는 표시되고 콘텐츠 비활성 탭은 숨겨집니다. 따라서 비활성 탭의 차트가 렌더링되지 않도록 하려면 조건부 렌더링이 필요합니다. 이렇게 하려면 탭이 표시되거나 숨겨질 때 계속 토글되는 플래그 유지를 사용할 수 있습니다. 플래그를 기반으로 차트를 렌더링할 수 있습니다.
<ul ngbNav #nav="ngbNav" class="nav-tabs" (shown)="navChangeEvent($event)" (hidden)="navHiddenEvent($event)">
<li [ngbNavItem]="1">
<a ngbNavLink>Line Chart</a>
<ng-template ngbNavContent>
<canvasjs-chart
*ngIf="showChart"
[options]="lineChartOptions"
(chartInstance)="getChartInstance($event)"
[styles]="{ width: '100%', height: '360px' }"
></canvasjs-chart>
</ng-template>
</li>
.
.
.
</ul>
이 기사를 작성할 당시 CanvasJS v3.6.7은 Angular 14 프로젝트에서 사용되었습니다. 그러나 CanvasJS 차트는 모든 버전의 Angular에서 작동합니다. CanvasJS 각도 차트 또는 CanvasJS API를 처음 사용하거나 복습이 필요한 경우 CanvasJS Charts documentation을 읽어 보시기 바랍니다. 그리고 ng-bootstrap에 대해서는 this documentation page 을 확인하십시오.
Reference
이 문제에 관하여(ng-bootstrap 구성 요소에 대화형 각도 차트 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/vishwas/add-interactive-angular-charts-to-ng-bootstrap-components-15hg텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)