You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

实现MatPaginatorIntl时导入@angular/localize/init遇警告,添加polyfill无效求助

解决Angular中$localize直接导入警告的问题

步骤1:移除代码中的直接导入

删掉PaginationInternationalization类里的这行导入代码:

import { $localize } from '@angular/localize/init';

步骤2:正确配置localize polyfill

在项目根目录的src/polyfills.ts文件中添加以下导入语句:

import '@angular/localize/init';

如果你的angular.json里build.options.polyfills配置的不是src/polyfills.ts,请确保对应的polyfill文件中包含上述导入代码。

步骤3:直接使用$localize

完成polyfill配置后,就可以在类中直接使用$localize,无需额外导入:

@Injectable()
export class PaginationInternationalization implements MatPaginatorIntl {
  itemsPerPageLabel = $localize`每页条数:`;
  // 其他分页器文本配置...
}

可选:处理TypeScript类型提示

如果TypeScript提示找不到$localize,在src/typings.d.ts文件中添加全局声明:

declare const $localize: {
  (messageParts: TemplateStringsArray, ...expressions: any[]): string;
};

关于之前配置无效的说明

angular.json的polyfills字段是指定要加载的polyfill文件路径,而非直接添加包名。你需要在指定的polyfill文件(如polyfills.ts)中导入@angular/localize/init,才能让全局环境生效。

内容的提问来源于stack exchange,提问作者Skimrande

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.09 09:12:03