小编Rom*_*eau的帖子

TypeScript 中类型注释 `variable: type` 和类型断言 `expression as type` 的详细区别

即使在他的伟大著作TypeScript Deep Dive 中对类型断言进行了basarat解释:

基本上,如果是 的子类型或的子类型,则从 typeS到的断言T成功。STTS

我想知道 type annotationvariable: type和 type assertion之间的确切区别是什么expression as type,更准确地说,当类型断言是否有效时,尤其是关于 TypeScript 错误有时令人惊讶:请参阅下面的foo3foo5变量:

interface Foo {
    n?: number;
    s: string;
}

const foo1 = {} as Foo;               // ok
const foo2 = { n: 1 } as Foo;         // ok
const foo3 = { n: '' } as Foo;        // KO: "Property 's' is missing..."
const …
Run Code Online (Sandbox Code Playgroud)

typescript

8
推荐指数
1
解决办法
1835
查看次数

如何在 Angular 组件的 HTML 模板端使用联合类型

在 Angular 组件的 HTML 部分,我想在不同条件下显示复选框或图标。使用宽松模型{ checked?: boolean; icon?: string },我可以这样做:

<input type="checkbox" [(ngModel)]="item.checked" *ngIf="!item.icon">
<i class="{{item.icon}}" *ngIf="item.icon">
Run Code Online (Sandbox Code Playgroud)

此模型启用无效状态,例如同时具有checkedicon。拥有更强大的模型可以依赖于联合类型:{ checked: boolean } | { icon: string }. 但它在 HTML 中不再起作用,因为在“联合类型”级别checked也不icon可用,而只能在左或右情况下使用。

有没有办法在一些经过调整的 HTML 模板中使用这个模型?

typescript angular

6
推荐指数
1
解决办法
397
查看次数

标签 统计

typescript ×2

angular ×1