我用Angular -seed升级了一个Angular 4项目,现在得到了这个错误
找到合成属性@panelState。请在应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”。
我该如何解决这个问题?错误消息到底告诉我什么?
我用Angular -seed升级了一个Angular 4项目,现在得到了这个错误
找到合成属性@panelState。请在应用程序中包含“BrowserAnimationsModule”或“NoopAnimationsModule”。
我该如何解决这个问题?错误消息到底告诉我什么?
当前回答
对于我来说,我错过了@Component decorator中的这句话: 动画(yourAnimation):
一旦我添加了这个语句,错误就消失了。 (角6. x)
其他回答
我得到以下错误:
Found the synthetic property @collapse. Please include either "BrowserAnimationsModule" or "NoopAnimationsModule" in your application.
我遵循Ploppy接受的答案,它解决了我的问题。
以下是步骤:
1.
import { trigger, state, style, transition, animate } from '@angular/animations';
Or
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
2. Define the same in the import array in the root module.
它将解决错误。编码快乐! !
一个简单的解决方案是,不要在你的lazyloaded或子模块中导入BrowserAnimationsModule,只在你的AppModule中导入。如果在运行组件测试时遇到相同的错误,请将其添加到测试平台的导入数组中。请注意。如果你没有自己定义的动画,这是可行的
此错误消息通常具有误导性。
你可能忘记了导入BrowserAnimationsModule。但那不是我的问题。我在根AppModule中导入BrowserAnimationsModule,就像每个人都应该做的那样。
问题与模块完全无关。我在组件模板中动画一个*ngIf,但我忘记在@Component中提到它。组件类的动画。
@Component({
selector: '...',
templateUrl: './...',
animations: [myNgIfAnimation] // <-- Don't forget!
})
如果你在模板中使用一个动画,你也必须在组件的动画元数据中列出该动画…每一次。
简单地加上.. import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
协和进口:( … BrowserAnimationsModule
],
在app.module.ts文件中。
确保您已经安装。NPM install @angular/animations@latest
我的问题是@angular/platform-browser的版本是2.3.1
npm install @angular/platform-browser@latest --save
升级到4.4.6,在node_modules/@angular/platform-browser下添加了/animations文件夹