我是Angular 7 / TypeScript的新手,并且正在构建一个带有路径转换动画的应用程序。我遵循了Angular的Router Transition Animations准则,但是我试图对其进行重构,因为我有多个由幻灯片动画定义的路径过渡,并且我不想为每个过渡都重写该幻灯片动画。我已经建立了两个文件:一个将服务函数slideTo()声明为方法的幻灯片服务(slide-animations.service.ts),以及一个导出常量slideInAnimation的动画文件(animations.ts),该常量利用了slideTo()服务。
这是animations.ts:
SELECT
COUNT(CASE WHEN table_schema = ? AND table_name = ? THEN 1 ELSE 0 END) AS cnt
FROM information_schema.tables;
这是slide-animations.service.ts:
import { trigger, transition } from '@angular/animations';
import { SlideAnimationsService } from './slide-animations.service';
export const slideInAnimation =
trigger('routeAnimations', [
transition('* => Welcome', SlideAnimationsService["slideTo('left')"]),
transition('CaseStudy => *', SlideAnimationsService["slideTo('left')"]),
transition('* <=> *', SlideAnimationsService["slideTo('right')"])
]);
这些文件在VScode中编译,但是当我尝试ng serve时,出现以下控制台错误:
AppComponent_Host.ngfactory.js? [sm]:1错误,TypeError:无法读取属性 未定义的“类型”
main.ts:12 TypeError:无法读取未定义的属性'type'
我确定我在这里如何构建这些片段时,我确实缺少一些东西,但是我似乎无法从SO上的任何其他类似问题中找出来。为什么在这里创建一个未定义的类型,我可以探索什么可能的解决方案?
谢谢!