コンパイラかく語りき

import { Fun } from 'programming'

Angular.js

【Angular】Service のメソッドを Template(html) から直接呼ぶ

問題 Angular でのアプリケーション開発では、Service を利用してロジックを分離することがあるかと思います。 Template から Service のメソッドを呼び出すには、普通は Component を経由するかと思います。 @Injectable() export class FooService { doSom…

Angular v12 の HMR が LazyLoad に非対応で、ページ全体が読み込まれる件

Angular v11 から HMR(Hot Module Replacement) が利用できるようになった。 Version 11 of Angular Now Available | by Mark Techson | Angular Blog ng serve --hmr とフラッグをつけるだけなので、設定が非常に簡単。 環境ごとに区別したい場合は、npm …

【Angular】 TSLint から ESLint への移行

概要 Angular を v6 の頃から利用しており、ずっと TSLint を利用していた。 しかし、TSLint が deprecated になってしまったので、ESLint に移行した。 やったこと angular-eslint による移行 以下の記事を読む。 Angular: ESLintサポートの現状 2020 Autum…

【Angular/rxjs】shareReplay が unsubscribe 後も emit し続けメモリリークになりうる問題への対処法

概要 shareReplay を使うと複数の subscribe を一本化できて便利です。 stream$.pipe(shareReplay()) パフォーマンス改善の対処法としてよくやります。(share だと初期値の null が流れてきてしまうので、個人的には shareReplay の方が好みです。 参考: an…

【Angular】バージョン9からバージョン10にアップデートした

概要 Angular のバージョンを上げるので、その記録を書く。 基本的には、 https://update.angular.io/ に従うだけ。 ただ、関連するパッケージのアップデートや破壊的変更に伴うコード修正は必要だと思われる。 使用しているライブラリは「Angular CDK、Nebu…

【Angular.js】ng-tempate へ複数の変数を渡す方法

いつも忘れるこの記法。 Angular.js で ng-template に複数の変数を渡したい場合の書き方。 <ng-container *ngTemplateOutlet="template; context:{ text: 'foo', item: 'bar' }"></ng-container> <ng-template #template let-text="text" let-item="item"></ng-template> ``` 参照: [Angular - NgTemplateOutlet](https://angular.io/api/common/NgTemplate…

【パフォーマンス改善】ngx-echarts でカスタムビルドを利用し、バンドルサイズを削減する方法

追記: 2022/04/21 echarts が v5.0.1 時点で TreeShaking に対応したので、カスタムビルド設定は不要化したようです。 参照: https://github.com/xieziyu/ngx-echarts#treeshaking-custom-build 概要 Angular 内で echarts を使うには ngx-echarts が利用で…

【抜粋】Angular アプリケーションプログラミングを読んだ

Angularアプリケーションプログラミング作者:山田 祥寛発売日: 2017/08/04メディア: 大型本 Angular アプリケーションプログラミングを読んだ 「Angular アプリケーションプログラミング」を読みながら書いた抜粋。 第1章 イントロダクション Angularにおけ…

Angular サービスクラスのユニットテスト(グローバルモック考慮)

概要 Angular のサービスクラスのユニットテストに関して調べた。かつ、グローバルでモックを定義する方法も考慮。 環境 MacOS Angular.js v8.x.x 情報収集 Angular の公式ドキュメントにテストに関するページがある。 Testing https://angular.io/guide/tes…