當我匯入嵌套介面時,它 Typescript VS 代碼中的 predictatext 會在高級介面中顯示專案,但不會在嵌套介面中顯示專案。
“示例”界面中有一個 [key:string] 這是否意味著我不能將 predictatext 用于此類資料結構(即使它會檢查型別安全),或者它只是沒有像我設定的那樣作業不正確。
例子
export interface Item {
id: number;
size: number;
}
export interface Example {
name: string;
items: {
[key: string]: Item
};
}
然后檔案 2
import {Example, Item} from '../utils/interfaces'
const obj = {
name: "test",
items: {
"a": {
id: 1,
size: 10
},
"b": {
id: 2,
size: 34
}
}
}
結果
predictertext 適用于第一級界面,但不適用于第一級界面,例如
console.log(obj. // predictatext offers two options: items & names
console.log(obj.items. // predictatext offers : NOTHING
uj5u.com熱心網友回復:
問題不在于嵌套介面。以下內容也不會自動完成:
interface Example {
[key: string]: number
}
它不能自動完成,因為密鑰可以是任何東西。同樣,后面的任何內容obj.items.都是有效的。
如果只允許某些專案,則必須在界面中指定它們。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478664.html
標籤:javascript 打字稿 界面 嵌套的
上一篇:在JS中使用內部HTML切換段落
