angular / angular/components

docs(datepicker): need better guidance for use with lazy loaded modules

オープン
#18,970 コメント 11 件 リアクション 1 件 担当者 0 名 GitHub で見る
area: material/datepicker docs P3
主要言語
TypeScript
スター
25k
フォーク
6.8k
平均マージ
1日 8時間
マージ済み PR(30日)
91

説明

#### Reproduction
I created here MyIntl class and I set there only text for calendar open button.
https://angular-material-datepicker-intl.stackblitz.io
https://stackblitz.com/edit/angular-material-datepicker-intl

Steps to reproduce:
1. If you check first calendar button it has aria-label="test" so it works. It works also for second calendar that is in first lazy loadad module
2. But if you click link 'lazy-loaded' and check button for 'other lazy' calendar it's aria-label is default 'Open calendar'
3. It starts to work only if I provide again my custom MyIntl class in OtherLazyModule (commented line)


#### Expected Behavior

I expected that if I provide my custom implementation of MatDatepickerIntl in AppModule it will work also for all lazy loaded modules.
For example MatPaginator works that way.

#### Actual Behavior

Custom implementation of MatDatepickerIntl is not provided in lazy loaded modules

#### Environment

- Angular: 9
- CDK/Material: 9
- Browser(s): Chrome
- Operating System (e.g. Windows, macOS, Ubuntu): Windows 10

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、リンクされた Angular Material Datepicker StackBlitz の再現を実行し、root、first lazy-loaded、OtherLazyModule の各コンテキストのカレンダーを比較します。MatDatepickerIntl provider の使用方法と MyIntl の実装を読み、その後、コメントアウトされた provider に依存せず、カスタム aria-label がすべての lazy-loaded モジュールで保持されることを確認します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
angular, typescript
領域
frontend
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
明確に書かれている
初心者へのやさしさ
38/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。