常见问题

    Angular 的 hello-world 项目(包含路由、动画与 Http 等模块) gzip 之后大概 30KBng-zorro-antd 的官网(包含所有组件,懒加载)打包后 gzip 之后为 287KB。这与 React 或者 Vue 增加路由、动画、Http 等模块之后 gzip 的体积不会有太大差异。

    如果碰到了打包大小问题,首先请确定使用了 ng build --prod 正确的方式进行了打包,如果除 ng-zorro-antd 之外还引入了其他第三方组件库,你可以通过 ng build --prod --sourceMap=true 命令生成 sourcemap 文件后,再通过 source-map-explorer 检查每个模块所占用的体积,具体操作可以参考。

    Angular 是不是过时了,运行会慢吗?ng-zorro-antd 性能如何?

    Angular 与 angular.js 不是同一种前端框架,angular.js 发布的时间在 2010 年 10 月份,而 Angular 诞生时间在 2016 年 9 月份,比 React 和 Vue 的诞生时间都要晚。

    总体而言 Angular Vue 与 React 三种框架的运行速度没有太大差异,也不会是你项目运行时快慢的决定因素,具体的性能参数可以参考该项目ng-zorro-antd 的所有组件均为原生 Angular 组件,并且默认运行在 OnPush 模式下,能够保证以 Angular 支持的最优速度运行。

    我可以在 Angular 其他版本中使用 ng-zorro-antd 吗?

    ng-zorro-antd@angular/core 保持相同的主版本号,例如 ng-zorro-antd@8 支持 版本,依次类推,为了获得最好的性能,推荐升级至最新版本的 Angular。升级 Angular 可以参考。

    我可以只使用 ng-zorro-antd 的部分组件吗?

    ng-zorro-antd 的所有组件均支持单独导入使用,与其他的流行组件库可以混用。

    ng-zorro-antd 为什么使用 less 定制主题? 我能使用 sass 吗?

    ng-zorro-antd 能和 d3, echarts …一起使用吗?

    ng-zorro-antd 本质上是组件库,与用户自己写的 @Component 没有任何的区别,也不会与第三方库产生冲突。

    如果使用多 Module 管理方式,NG-ZORRO 的模块需要在每个子 Module 中都要 import,或者在 ShareModule 中 export,可以参考官方文档

    Expression Changed After It Has Been Checked Error 错误

    Angular 的数据流是单向数据流,违反数据流走向会引起该问题,会帮助你理解原因。

    Can’t bind to ‘formGroup’ since it isn’t a known property of ‘form’

    使用 Reactive Forms 需要额外引入 ReactiveFormsModule,可以参考官方文档

    模板中 [nzValue]="data"``nzValue="data"nzValue="{{data}}" 有什么区别

    nzValue="data" 组件收到的是字符串 datanzValue="{{data}}" 等价于 [nzValue]="data.toString()"。如果你需要传入 number 或者 boolean 类型时,应当使用 [nzValue]="data" 的方式。

    数据修改后页面为什么没有更新

    为了获得更好的性能,NG-ZORRO 所有组件都运行在 模式下,这意味着对 @Input() 数据的 mutate 将不会生效,请使用 immutable 方式操作数组或者对象。

    我的页面卡死了,函数不停的在执行

    在 Angular 的模板表达式中,绑定带有副作用的属性或者方法都是危险的,如果你违反了这条规则,很可能会造成性能下降甚至引起死循环。以下的代码会在页面中不停输出 I will run every time,因为 本身是一种副作用函数。

    1. @Component({
    2. <input [value]="value" />
    3. `
    4. })
    5. export class BugComponent {
    6. value(): string {
    7. console.log('I will run every time');
    8. return 'value';
    9. }
    10. }

    推荐 的系列文章

    为什么我的 ISSUE 会被关闭

    ISSUE 列表是为了 开发者 和 用户 追踪相关的开发进度而设计的,这意味 ISSUE 只接受 bug 报告或是新功能请求 (feature requests),这意味着我们不接受用法问题。 另外为了给予 更具体的工作更高的优先级和提高 ISSUE 处理的效率,未按照 格式提交的 ISSUE 也将会被立刻自动关闭。

    有些特性为什么不会被支持

    ng-zorro-antd 是 Angular 版本 Ant Design 的实现,这意味着只有 Ant Design 支持的交互、功能 才会被 ng-zorro-antd 实现。

    浏览器兼容性问题

    首先请确定浏览器版本得到了 Angular 的官方支持,并正确引入了 文件,另外有些组件的部分使用方式不支持部分浏览器(例如 flex显示方式),如果不是以上问题,请提 ISSUE 给我们。

    官网能正常工作,相同的用法本地运行有问题,是组件库的 BUG 吗?

    不会,NG-ZORRO 的官网使用在 npm 上发布的相同版本构建,所有的构建日志都可以在 Azure 查看,请仔细检查本地运行环境(版本,其他依赖包)等问题。

    Angular的相关问题在哪里提问