使用AoT找不到ViewChild
ngc
编译时没有错误!--aot
标志用CLI编译,编译时没有错误,但是当在导航器上打开应用程序时,我得到: ReferenceError:未定义nameColumnHeader
nameColumnHeader
是ViewChild()
装饰者: @ViewChild('nameColumnHeader') nameColumnHeader: TemplateRef<any>;
当然我在HTML中有<template #nameColumnHeader...>
。删除这个ViewChild时,另一个问题是#end of material2 / sidenav component ...
我不知道什么是问题,顺便说一句,为什么当我的项目 ng serve --prod --aot 时,cli不告诉我什么是问题!
使用AoT捆绑main.js
我删除了所有ViewChild()
重新编译--aot
一切正常,页面显示正确,但是:
当我使用ng build --prod
进行编译时,main.js的大小为 1836 Ko ,当使用AoT ng build --prod --aot
进行编译时,main.js的大小为: 1860Ko
如果有用
使用ViewChild时,您需要使用分号!奇怪的是,我们可以在没有AOT的情况下编写没有seimicolons的ViewChild但是使用AoT需要分号