有条件地使用angular2属性usehash

时间:2017-08-02 09:11:09

标签: angular

我想有条件地将 useHash 的值设置为true或false。所以我创建了一个导出的函数,并在app-routing模块中调用它,就像这样

 @NgModule({
      imports: [ RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules, 
                                                useHash: AppHashingStrategy() })],
      exports: [ RouterModule ],
    })

export function AppHashingStrategy() {
    const result = window.navigator.userAgent.indexOf('MSIE') !== -1 &&
                    window.navigator.userAgent.indexOf('9.0') !== -1;
    return result;
}

条件是如果浏览器是IE 9,那么useHash = true否则为false。这是因为我的angular2应用程序无法在IE9中运行(显示加载...并挂起)。但是当我将值useHash更改为false时,它开始正常工作。所以我想有条件地设置它的值。

但是当我这样做时,我得到错误:

调用函数'AppHashingStrategy',函数调用  不受支持。考虑使用对导出函数的引用替换函数或lambda

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

  

调用函数'AppHashingStrategy',不支持函数调用。考虑使用对导出函数的引用替换函数或lambda

我知道你面临错误,因为lambda表达式不适用于IE9。 我在IE11中使用了lambda表达式并且工作正常。

相关问题