Location 和 HashLocationStrategy 在 beta.16 中停止工作
Posted
技术标签:
【中文标题】Location 和 HashLocationStrategy 在 beta.16 中停止工作【英文标题】:Location and HashLocationStrategy stopped working in beta.16 【发布时间】:2016-08-20 02:05:11 【问题描述】:错误信息
VM556 angular2-polyfills.js:349Error: 必须定义令牌!(...)
或
错误 TS2305:模块 '"/node_modules/angular2/router"' 没有导出的成员 'LocationStrategy'。 错误 TS2305:模块 '"/node_modules/angular2/router"' 没有导出的成员 'HashLocationStrategy'。 错误 TS2305:模块 '"/node_modules/angular2/router"' 没有导出的成员 'Location'。
如何解决
【问题讨论】:
【参考方案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 不是函数
【讨论】:
基本上LocationStrategy
和HashLocationStrategy
已移至angular2/platform/common
模块,您能否在答案中添加此内容,以便提供更多信息:)
对于那些说这是旧的人请点击下面的链接blog.ng-book.com/basic-routing-in-angular-2以上是关于Location 和 HashLocationStrategy 在 beta.16 中停止工作的主要内容,如果未能解决你的问题,请参考以下文章
window.location.href=window.location.href 和 window.location.reload() 的区别
window.location.hash 和 location.hash 有啥区别? [复制]
window.location= 和 window.location.replace() 有啥区别?