而且我有一個對象
這不是一個對象,它是一類。 (好吧,理所當然,它也的對象)來訪問items
,首先你需要一個實例來訪問它:
const instanceOfFoo: Foo = new Foo();
然後,一旦你有一個實例,你必須從split
數組,你可以:
更換陣列上的Foo
實例:
instanceOfFoo.items = splitted;
或
添加那些您的項目(例如,如果你可以做其再次用相同的Foo
):
instanceOfFoo.items.push(...splitted);
這...
被傳播符號,它應該得到支持在TypeScript中通過轉譯。如果你想成爲老式的,而不是:
instanceOfFoo.items.push.apply(instanceOfFoo.items, splitted);
如果你已經分割字符串之前創建Foo
,你可以將它作爲參數傳遞給構造函數,然後執行下列操作之一在構造函數中,無論哪個更適合您的需要:
// Using the array provided directly
export class Foo {
constructor(public items: string[] = []) {
}
}
或
// Copying the given array
export class Foo {
public items: string[] = [];
constructor(items: string[]) {
this.items.push(...items);
}
}
然後使用這類原因:
const instanceOfFoo: Foo = new Foo(splitted);
旁註:你缺少你的方法一let
或const
(我認爲這是一個方法,因爲在它前面缺乏function
) :
addItems(toSplit: string) {
const splitted: string[] = toSplit.split(",");
// ^---- here, should be const or let depending on whether you want
// to be able to change it
}
什麼是'Foo'類,你爲什麼輸出它? –
另外,你應該聲明你的數組:let splitted:string [] = toSplit.split(「,」); –
對於那些不太流利的英語的人來說:「分裂」是一個不規則的動詞,帶有不規則的形容詞派生詞,即使這樣你通常會形成過去式和形容詞,在英語中也沒有「分裂」這個詞。這只是「分裂」,即使它被用於通常使用的詞語。 –