使用角度材质原理图,我想生成导航菜单。为此,我使用以下命令:
ng generate @angular/material:material-nav --name layout
当我提供应用程序时,会抛出此错误:
错误TS2322:类型'Observable'不能分配给'Observable'类型。 类型'boolean'不能分配给'BreakpointState'类型。
答案 0 :(得分:3)
添加答案只是为了从未答复的内容中删除。
这是一个已知的issue,由this pull request修复。
在此PR上线之前,您可以手动进行更改。
__name@dasherize__.component.html
来自:
[attr.role]="isHandset$ | async ? 'dialog' : 'navigation'"
[mode]="isHandset$ | async ? 'over' : 'side'"
收件人:
[attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
[mode]="(isHandset$ | async) ? 'over' : 'side'"
__name@dasherize__.component.ts
来自:
[attr.role]="isHandset$ | async ? 'dialog' : 'navigation'"
[mode]="isHandset$ | async ? 'over' : 'side'"
收件人:
[attr.role]="(isHandset$ | async) ? 'dialog' : 'navigation'"
[mode]="(isHandset$ | async) ? 'over' : 'side'"
来自:
isHandset$: Observable<BreakpointState> = this.breakpointObserver.observe(Breakpoints.Handset)
收件人:
isHandset$: Observable<boolean> = this.breakpointObserver.observe(Breakpoints.Handset)
答案 1 :(得分:1)
只需在您的打字稿文件中将observable的类型更改为boolean即可。 匹配组件html文件中的括号 [attr.role] =&#34;(isHandset $ | async)? &#39;对话框&#39; :&#39;导航&#39;&#34; [mode] =&#34;(isHandset $ | async)? &#39;在&#39; :&#39; side&#39;&#34;
这是Green Lines中的修复
以下是修复的主要链接 - https://github.com/angular/material2/pull/11448/commits/20306dbeed3fe7232ffb85ba1d9fd406f6885db2