Location и HashLocationStrategy перестали работать в beta.16
Сообщение об ошибке
VM556 angular2-polyfills.js:349 Ошибка: маркер должен быть определен!(…)
или же
ошибка TS2305: модуль "/node_modules/angular2/router" не имеет экспортированного элемента LocationStrategy.
Ошибка TS2305: модуль "/node_modules/angular2/router" не имеет экспортированного члена HashLocationStrategy.
ошибка TS2305: модуль "/node_modules/angular2/router" не имеет экспортированного элемента "Местоположение".
Как исправить
1 ответ
Решение
обновление>= RC.5
@NgModule({
providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy}]
})
export class AppModule {}
обновление>= rc.0
import {
PlatformLocation,
Location,
LocationStrategy,
HashLocationStrategy,
PathLocationStrategy,
APP_BASE_HREF}
from '@angular/common';
import {BrowserPlatformLocation} from '@angular/platform-browser';
оригинал
+ Изменить
import {ROUTER_PROVIDERS, LocationStrategy, HashLocationStrategy} from 'angular2/router';
в
import {ROUTER_PROVIDERS} from 'angular2/router';
import {LocationStrategy, HashLocationStrategy} from 'angular2/platform/common';
Смотрите также
- https://github.com/angular/angular/issues/8229
Полный список перемещенных экспортов:
- https://github.com/angular/angular/pull/8230/files
import {
PlatformLocation,
Location,
LocationStrategy,
HashLocationStrategy,
PathLocationStrategy,
APP_BASE_HREF}
from 'angular2/platform/common';
import {BrowserPlatformLocation} from 'angular2/src/platform/browser/location/browser_platform_location';
Другая ошибка, которая обычно вызывается этим изменением,
location.createComponent не является функцией