我用Angular -seed升级了一个Angular 4项目,现在得到了这个错误

找到合成属性@panelState。请在应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”。

我该如何解决这个问题?错误消息到底告诉我什么?


当前回答

动画应该应用在特定的组件上。

在其他组件中使用动画指令,并在另一个组件中提供。

CompA——@Component ({



动画:[动画] }) CompA——@组件 ({



动画:[animation] <===这应该在used component中提供 })

其他回答

试试这个

NPM install @angular/animations@latest

import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

这对我很有用。

一个简单的解决方案是,不要在你的lazyloaded或子模块中导入BrowserAnimationsModule,只在你的AppModule中导入。如果在运行组件测试时遇到相同的错误,请将其添加到测试平台的导入数组中。请注意。如果你没有自己定义的动画,这是可行的

确保@angular/animations包已经安装(例如,通过运行npm install @angular/animations)。然后,在app.module.ts中

import { BrowserAnimationsModule } from '@angular/platform-browser/animations';

@NgModule({
  ...,
  imports: [
    ...,
    BrowserAnimationsModule
  ],
  ...
})

对于我来说,我错过了@Component decorator中的这句话: 动画(yourAnimation):

一旦我添加了这个语句,错误就消失了。 (角6. x)

当我尝试使用BrowserAnimationsModule时,我遇到了类似的问题。以下步骤解决了我的问题:

删除“node_modules”目录 使用npm cache clean清除你的包缓存 运行这里列出的两个命令中的一个来更新现有的包

如果你遇到404错误

http://.../node_modules/@angular/platform-browser/bundles/platform-browser.umd.js/animations

在system.config.js中添加以下条目:

'@angular/animations': 'node_modules/@angular/animations/bundles/animations.umd.min.js',
'@angular/animations/browser':'node_modules/@angular/animations/bundles/animations-browser.umd.js',
'@angular/platform-browser/animations': 'node_modules/@angular/platform-browser/bundles/platform-browser-animations.umd.js'

Naveedahmed1提供了这个github问题的解决方案。