2017-09-19 1 views
0

나는 타이프 인터페이스가?타이프 인터페이스

+0

실제로 그런 수업이 있습니까? 이 생성자의 구현은 어디에 있습니까? –

+0

구현되지 않았습니다. 클래스에서이 인터페이스를 구현하려면 어떻게해야합니까? –

답변

2

당신은 단지 당신이 안 인터페이스가있는 경우 당신은 또한이

path: LatLng[]; 
1

같은 배열 유형을 정의 할 수 있습니다이

this.path.push(new LatLngNew(2,3)) 

처럼 쓸 수

export class LatLngNew implements LatLng { 
constructor(public lat: number, public lng: number) {} 
} 

인터페이스를 구현 constructor이 있고 다음과 같이 표시되어야합니다 :

export interface LatLng { 
    lat(): number; 
    lng(): number; 
} 

당신은 다음과 같이 새 항목을 밀어 수 있습니다

path.push({ 
    lat: function() { return 0; }, 
    lng: function() { return 0; }, 
}); 

당신은 또한 그것을 위해 공장 기능을 만들 수 있습니다

function createLatLng(lat: number, lng: number): LatLng { 
    return { 
     lat: function() { return lat; }, 
     lng: function() { return lng; } 
    }; 
} 

당신이 다음 클래스를 원하는 경우에 당신이 그것을 할 like :

class LatLng { 
    constructor(private _lat: number, private _lng: number) {} 

    lat() { 
     return this._lat; 
    } 

    lng() { 
     return this._lng; 
    } 
} 

푸시 새 인스턴스 좋아요 :

path.push(new LatLng(0, 0)); 
+0

이 인터페이스를 만들지 않았습니다. https://angular-maps.com/api-docs/agm-core/interfaces/LatLng.html#source. 하지만이 인터페이스를 유형으로 사용하여 요소를 제공해야합니다. –

+0

오, 그것은 기존의 라이브러리입니다. 그렇다면 구현은 이미 존재할 것이고 여러분은 타입에 대해서만 이야기하고 있습니다. @alexKhymenko의 다른 대답은 당신을 위해 일해야합니다 –

+0

@alexKhymenko의 답변은 작동하지 않습니다. 'LatLng'은 유형을 나타낼뿐 값을 사용하고 있습니다. " –

관련 문제