升级到 Angular 12 后,虽然我在 app.module.ts 中有所有必需的代码,但所有材质标签都无法识别:例如,对于 mat-checkbox,我在 app.module.ts 中有以下内容
import { MatCheckboxModule } from '@angular/material/checkbox';
@NgModule({
imports: [
BrowserModule,
MatCheckboxModule,
Run Code Online (Sandbox Code Playgroud)
并在执行时:
“mat-checkbox”不是已知元素:
所有材质标签(mat-icon、mat-table、mat-label ......)都有同样的问题。
在之前的版本(Angular 9)中,一切正常。感谢帮助。
我正在创建一个接收多个键和值的函数,并且应该返回一个具有这些键及其各自值的对象。值类型应与我调用该函数时传递的值匹配。
目前,该代码可以运行,但类型不准确。
我尝试使用工厂方式,希望打字稿能为我推断一些东西。
这是工厂的代码。另外,这里还有一个游乐场。
const maker = (subModules?: Record<string, unknown>) => {
const add = <Name extends string, Q>(key: Name, value: Q) => {
const obj = {[key]: value};
return maker({
...subModules,
...obj
})
}
const build = () => {
return subModules
}
return {
add,
build
}
}
const m2 = maker()
.add('fn', ({a, b}: { a: number, b: number }) => a + b)
.add('foo', 1)
.add('bar', 'aaaa')
.build()
// m2.foo -> 1
// m2.bar -> …
Run Code Online (Sandbox Code Playgroud)