我目前正在所有可能的浏览器中测试我的应用程序,并且我看到角度动画在Safari iOS 9.3中的行为不如预期.经过数小时和数小时试图解决它,我来寻求帮助.提前致谢.
我的代码是:
的package.json
"dependencies": {
"@angular/animations": "^4.3.2",
"@angular/cdk": "^2.0.0-beta.8",
"@angular/common": "^4.0.0",
"@angular/compiler": "^4.0.0",
"@angular/core": "^4.0.0",
"@angular/forms": "^4.0.0",
"@angular/http": "^4.0.0",
"@angular/material": "^2.0.0-beta.8",
"@angular/platform-browser": "^4.0.0",
"@angular/platform-browser-dynamic": "^4.0.0",
"@angular/router": "^4.0.0",
"@ngx-meta/core": "^0.4.0-rc.2",
"@ngx-translate/core": "^7.1.0",
"@ngx-translate/http-loader": "^1.0.1",
"angular2-moment": "^1.6.0",
"core-js": "^2.4.1",
"express": "^4.15.4",
"lodash": "^4.17.4",
"ng2-pdf-viewer": "^1.1.1",
"ng2-translate": "^5.0.0",
"rxjs": "^5.4.1",
"web-animations-js": "^2.3.1",
"zone.js": "^0.8.14"
},
Run Code Online (Sandbox Code Playgroud)
landing.component.ts
import { Component, HostBinding, ChangeDetectionStrategy } from '@angular/core';
import { stateTransition } from '../routing.animations';
@Component({
selector: 'cp-landing',
templateUrl: './landing.component.html',
styleUrls: ['./landing.component.css'],
changeDetection: ChangeDetectionStrategy.OnPush,
animations: [ stateTransition() ]
})
export class LandingComponent {
@HostBinding('@stateTransition') '';
}
Run Code Online (Sandbox Code Playgroud)
routing.animations.ts
import { trigger, state, animate, style, transition } from '@angular/animations';
export function stateTransition() {
return trigger('stateTransition', [
state('void', style({
transform: 'translateY(50%)',
opacity: 0
})),
state('*', style({
transform: 'translateY(0%)',
opacity: 1
})),
// enter animation
transition('void => *', animate('.5s 500ms')),
// exit animation
transition('* => void', animate('.5s'))
]);
}
Run Code Online (Sandbox Code Playgroud)
我试着想出一个小提琴,但我无法重现错误.
dio*_*ide 17
我相信网络动画API需要Safari上的polyfill.并且默认情况下不启用它.您只需要安装polyfill,然后在app的/ src文件夹中的polyfills.ts文件中添加一行或两行.
请参见此处:如何将Web Animations API polyfill添加到使用Angular CLI创建的Angular 2项目中
(复制下面的最佳答案)
使用较新的Webpack版本的Angular CLI添加polyfill更容易:
安装时
npm install web-animations-js --save
Run Code Online (Sandbox Code Playgroud)
添加到polyfills.ts:
require('web-animations-js/web-animations.min');
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它也有效
import 'web-animations-js/web-animations.min';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5416 次 |
| 最近记录: |