Tìm kiếm trang web

typescript - Đối số kiểu 'X' không thể gán cho tham số kiểu 'X'


Chào bạn. Tôi mới học Type Script, sử dụng VSCode.

Nhận được các lỗi sau:

  1. lỗi TS2322: Kiểu '() => string' không thể gán cho kiểu 'string'.

  2. lỗi TS2322: Kiểu '() => number' không thể gán cho kiểu 'number'.

Mã:

DTO.ts

interface DTO {

    getId(): number;
    getValue(): string;
}
export = DTO;

LinkedObject.ts

class LinkedObject {

    public value: string = "Not Set";
    public id: number = 0;

    constructor(value?: string, id?: number) {
        this.value = value;
        this.id = id;
    }
}
export = LinkedObject;

Tôi đang cố gắng khởi tạo lớp LinkedObject bằng cách sử dụng các phương thức giao diện được đề cập ở trên:

TravelClientFormPopulator.ts

class TravelClientFormPopulator {

    public populateComboBoxUsingDTOs(dataObjects: Array<DTO>, comboBoxID: string): void {

        // Get the combo box
        var selectElement = <HTMLSelectElement> document.getElementById(comboBoxID);
        // Reset the options 
        selectElement.options.length = 0;

        var linkedObjectsToAdd: LinkedObject[] = new Array<LinkedObject>();

        var defaultLinkedObject: LinkedObject = new LinkedObject("Not Selected", 0);

        linkedObjectsToAdd.push(defaultLinkedObject);

        for (var i = 0; i < dataObjects.length; i++) {
            var value: string = dataObjects[i].getValue; // Error here
            var id: number = dataObjects[i].getId; // And here
            var linkedObject: LinkedObject = new LinkedObject(value, id);
        }
    }
}

Bất kỳ sự giúp đỡ nào cũng sẽ được trân trọng cao.

Câu trả lời #1

Bạn thiếu dấu ngoặc:

var value: string = dataObjects[i].getValue(); 
var id: number = dataObjects[i].getId();

Câu trả lời #2

Dù có giá trị gì đi nữa, nếu ai đó chỉ gặp vấn đề này trong VSCode, chỉ cần khởi động lại VSCode và nó nên được sửa. Đôi khi, Intellisense dường như làm rối loạn các nhập khẩu hoặc kiểu dữ liệu.

Liên quan đến Typescript: Tham số kiểu 'RegExpMatchArray' không thể gán cho tham số kiểu 'string'

Bài viết liên quan