Я пытаюсь получить Лифлет и плагин для совместной работы в проекте Ionic 2 , Я установил и импортировал сам Листовку и плагин leaflet-path-transform, а также the Leaflet type declaration, включенный в DefinatelyTyped. Код работает, если я добавлю declare var L: any;
, чтобы игнорировать объявления типов.Аргумент типа X не присваивается параметру типа Y. Литерал объекта может указывать только известные свойства, а X не существует в типе Y
Это важные части контроллера страницы (home.ts):
var polyline = new L.Polyline(
L.GeoJSON.coordsToLatLngs([
[114.14314270019531, 22.49479484975443],
[114.21798706054688, 22.524608511026262],
[114.20768737792969, 22.524608511026262],
[114.20768737792969, 22.536024805886974]
]), {
weight: 15,
draggable: true,
transform: true
})
.bindPopup("L.Polyline")
.addTo(map);
polyline.transform.enable();
draggable
и transform
не действительны варианты в основной листовке (ни .transform
), поэтому я написал декларацию типа файл на PROJECT_DIR\node_modules\@types\leaflet-path-transform\index.d.ts
, чтобы определить их. То, что я написал до сих пор, основано на the type declaration for leaflet-editable, так как этот плагин позволяет создавать новые MapOptions при создании объекта L.Map.
/// <reference types="leaflet" />
declare namespace L {
export interface Polyline {
draggable: boolean;
}
namespace Polyline {
export interface PolylineOptions {
draggable: boolean;
}
}
}
This только адреса первый вариант до сих пор, но это не удалось устранить ошибку Машинопись:
Typescript Error
Argument of type '{ weight: number; draggable: boolean; }' is not assignable to parameter of type 'PolylineOptions'. Object literal may only specify known properties, and 'draggable' does not exist in type 'PolylineOptions'.
Может кто-то помочь мне понять, что я делаю неправильно здесь? Сначала я думал, что новый файл объявления типа просто игнорируется, но если я оставлю в нем опечатку, он вызывает новые ошибки, поэтому он, похоже, имеет эффект.
В случае помогает, вот окружающая среда Я работаю в:
- Ионные Framework: 2.0.0
- Ионные Native: 2.4.1
- Ионные App Scripts: 1,0. 0
- Угловая Core: 2.2.1
- Угловая Компилятор CLI: 2.2.1
- Node: 6.9.4
- OS Платформа: Windows 10
- Navigator Платформа: Win32
- Агент пользователя: Mozilla/5.0 (Windows NT 10,0; WOW64) AppleWebKit/537,36 (KHTML, как Gecko) Chrome/56.0.2924.87 Safari/537,36
Вы получили его? – ackuser
Пока нет. Я только что использовал «любой» модификатор вместо правильного объявления типа. – carpiediem