Dev Study
← Angular コース

98. Angular DevTools — 部品の中身を覗く拡張機能

Angular DevTools はブラウザ拡張として入れる公式のデバッグ道具です。インストールすると DevTools に Angular タブが増え、Components ビューで画面を構成するコンポーネントツリーを一覧できます。ツリーから部品を選ぶと、その部品が持つ signal や input の現在値をその場で確認できます。

実務で効くのは「データは正しいのに表示だけおかしい」の切り分けです。DevTools で見た signal の値が正しければ疑うのはテンプレート側、値がすでに間違っていれば疑うのはデータの流れ側、と原因の範囲を半分に絞れます。Profiler ビューでは変更検知を録画でき、どの部品の描画に時間がかかったかも測れます。

注意したいのは、Angular DevTools が使えるのは開発モードのビルドだけという点です。本番ビルドのサイトでは動きません。また @if で消えた部品はDOMにもツリーにも現れないので、「値がおかしい」以前に「そもそも部品が生まれているか」の確認にもコンポーネントツリーが役立ちます。

サンプルコード(フレームワーク環境が必要なため表示のみ)

// Angular DevTools でできること(Chrome/Firefox/Edge 拡張)
//
// ── Components ビュー ──
// app-root
//  └─ app-user-list      ← ツリーから部品をクリックで選ぶ
//      └─ app-user-card
//
// 選んだ部品の右側に現在値が並ぶ:
//   user (input)      { name: '佐藤', age: 28 }
//   selected (signal) false
//
// → 切り分けの考え方:
//   値が正しい   … 疑うのはテンプレート(表示側)
//   値がおかしい … 疑うのはデータの流れ(親からの受け渡しや通信)
//   部品が無い   … @if の条件で生まれていない可能性
//
// ── Profiler ビュー ──
// 録画ボタン → 画面を操作 → 停止
// 変更検知が1回走るごとに棒グラフが1本増え、
// どのコンポーネントの描画に何ミリ秒かかったかが見える
//
// 注意: 動くのは開発ビルド(ng serve)だけ。本番ビルドでは使えない
サンプルコードで身につける(5本) →

学んだ概念を、素朴な例から実務寄りの例まで5つの具体例で確認します。

公式ドキュメントで詳しく ↗