Questions tagged «angular»

有关Angular(不要与AngularJS混淆)的问题,它是Google的网络框架。将此标签用于并非特定于单个版本的角度问题。对于较旧的AngularJS(1.x)Web框架,请使用angularjs标记。

2
Angular Browserslist:caniuse-lite已过时。请运行下一个命令`npm update`
我最近开始在我正在工作的Angular 8项目(节点v10.16.0)上收到此错误。运行npm update caniuse-lite browserslist没有任何作用 所以我删除了package-lock.json,删除了node_modules并运行了npm install,但是browserlist文件已经消失了。同样,当我运行ng build时,我得到相同的消息:Browserslist:caniuse-lite已过时。请运行下一条命令npm update 我在同一主题上看到此帖子: Browserslist:caniuse-lite已过时。请运行下一个命令`npm update caniuse-lite browserslist`, 但是它涉及WebCompiler和autoprefixer,我不知道这些。请指导

6
CORS策略和.NET Core 3.1的问题
我不确定自己缺少什么,但似乎无法使我的CORS策略与.NET Core 3.1和Angular 8客户端一起使用。 Startup.cs: public void ConfigureServices(IServiceCollection services) { // ... // Add CORS policy services.AddCors(options => { options.AddPolicy("foo", builder => { // Not a permanent solution, but just trying to isolate the problem builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader(); }); }); services.AddControllers(); } public void Configure(IApplicationBuilder app, IWebHostEnvironment env) { if (env.IsDevelopment()) { …


1
如何通过Google Chrome修复此警告?Cookie…“ SameSite = None”,但没有“ Secure”
这段代码 this.afAuth.auth.signInWithPopup(new auth.GoogleAuthProvider()) 在Chrome上生成此警告: 与http://google.com/上的资源相关联的Cookie 设置为,SameSite=None但没有Secure。如果将来的Chrome浏览器版本将cookie设置为SameSite=None和,则仅会提供带有跨站点请求的cookie Secure。

2
何时应针对特定副作用创建新的订阅?
上周,我回答了一个RxJS 问题,在那里我与另一位社区成员进行了讨论:“我应该为每种特定的副作用创建订阅,还是应该总体上减少订阅?” 我想知道在完整的反应式应用方法中使用什么方法,或者何时从一种方法切换到另一种方法。这将帮助我甚至其他人避免不必要的讨论。 设置信息 所有示例均在TypeScript中 为了更好地关注问题,不使用生命周期/构造函数进行订阅并保持框架无关 想象一下:在构造函数/生命周期init中添加了订阅 想象一下:取消订阅是在生命周期中完成的 什么是副作用(角度样本) 用户界面中的更新/输入(例如value$ | async) 组件的输出/上游(例如@Output event = event$) 不同层次结构上不同服务之间的交互 示例用例: 两个功能: foo: () => void; bar: (arg: any) => void 两个源可观察到的: http$: Observable<any>; click$: Observable<void> foohttp$发出后调用,不需要任何值 bar在click$发出后被调用,但需要的当前值http$ 案例:为每种特定副作用创建订阅 const foo$ = http$.pipe( mapTo(void 0) ); const bar$ = http$.pipe( switchMap(httpValue => click$.pipe( …


2
在Angular 8和9中提供和注入“窗口”与窗口之间有什么区别?
我有两个使用这些版本的Angular项目: 9.0.0-下一个6 8.1.0 在版本9中,我使用它来提供和注入window对象: @NgModule({ providers: [ { provide: Window, useValue: window }, ] }) export class TestComponent implements OnInit { constructor(@Inject(Window) private window: Window) } 哪个工作正常。 将这种方法用于版本8会在编译期间引发警告和错误: 警告:无法解析TestComponent的所有参数…… 我通过使用单引号解决了它,如下所示: @NgModule({ providers: [ { provide: 'Window', useValue: window }, ] }) export class TestComponent implements OnInit { constructor(@Inject('Window') private window: …

1
未捕获的TypeError:t.rgb不是函数
未捕获的TypeError:t.rgb不是函数 我创建了一个有角度的应用程序,并将其构建,并尝试为其提供服务 $ ng serve --prod --aot 这导致控制台中出现以下错误 Uncaught TypeError: t.rgb is not a function at HO (color.js.pre-build-optimizer.js:227) at GO (color.js.pre-build-optimizer.js:232) at rgb.js.pre-build-optimizer.js:36 at RH (ramp.js.pre-build-optimizer.js:4) at Module.zUnb (BrBG.js.pre-build-optimizer.js:16) at f (bootstrap:78) at Object.0 (index.js.pre-build-optimizer.js:26) at f (bootstrap:78) at t (bootstrap:45) at Array.r [as push] (bootstrap:32) 该应用程序不显示 当我在不缩小(--prod标记)的情况下构建应用程序时,它将起作用。 我仅在使用D3时看到此问题 D3 …

1
类型“ NgElementConstructor <未知>”的参数无法分配给“ CustomElementConstructor”类型的参数
我在创建Angular Elements的Angular9中的VSCode(1.44.0-insider)中收到一个奇怪的警告: export class AppModule { constructor(private injector: Injector) { const helloElement = createCustomElement(HelloComponent, {injector}); customElements.define('my-hello', helloElement); } ngDoBootstrap() {} } helloElement来自typescript的错误消息不接受的类型: 类型“ NgElementConstructor”的参数不能分配给“ CustomElementConstructor”类型的参数

2
如何使用角度9 $ localize复数?
从Angular 9开始,我们可以使用 $localize`Hello ${name}:name:` 对于打字稿代码中的i18n。由于该ng xi18n命令无法检测到字符串,因此仍有一些限制,但是如果将这些文本手动添加到翻译文件中,它将起作用。 该$localize函数在JSDoc的源代码中有很好的文档说明,但是并未解释如何使用复数形式。我的意思是这样的(伪代码): $localize`Hello {${count}, plural, =1 {reader} other {readers}}` 这可能$localize吗?如果是:如何?如果否:Angular如何将此类表达式从HTML编译为TypeScript?

1
为什么setTimeout()会使我的应用程序变慢,而Rxjs timer()。subscribe(…)却没有?
我有一个组件,它以100毫秒的间隔“延迟加载”一些注释。 当我使用setTimeout时,它确实很慢。 零件 &lt;div *ngFor="let post of posts"&gt; &lt;app-post [post]="post" &gt;&lt;/app-post&gt; &lt;/div&gt; 这使我的应用程序延迟(平均fps 14,空闲时间51100ms): while(this.postService.hasPosts()){ setTimeout(()=&gt; { this.posts.push(this.postService.next(10)); },100); } 这使我的应用程序流畅(平均fps 35,空闲时间40800ms) while(this.postService.hasPosts()){ timer(100).subscribe(()=&gt; { this.posts.push(this.postService.next(10)); }); } 有什么解释,为什么rxjs计时器能更好地工作? 我使用firefox进行了运行时分析。在第一个示例中,帧速率降至14 fps;在另一个示例中,帧速率降至35 fps。 甚至空闲时间也减少了20%。 此方法更加平滑(平均fps 45,空闲时间13500ms): interval(100).pipe(takeWhile(this.postService.hasPosts()).subscribe(()=&gt; { this.posts.push(this.postService.next(10)); }); }

8
安装ng bootstrap并编译后,出现此错误
node_modules/@ng-bootstrap/ng-bootstrap/accordion/accordion.d.ts:191:9中的错误-TS1086错误:无法在环境上下文中声明访问器。 191设置ngbPanelToggle(面板:NgbPanel); ~~~~~~~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/checkbox.d.ts:28:9-错误TS1086:无法在环境上下文中声明访问器。 28 set focus(isFocused:boolean); ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:14:9-错误TS1086:无法在环境上下文中声明访问器。 14 get Disabled():布尔值; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:15:9-错误TS1086:无法在环境上下文中声明访问器。 15设置为禁用(isDisabled:布尔值); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:61:9-错误TS1086:无法在环境上下文中声明访问器。 61设定值(value:any); ~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:65:9-错误TS1086:无法在环境上下文中声明访问器。 65 set disable(isDisabled:boolean); ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:66:9-错误TS1086:无法在环境上下文中声明访问器。 66 set focus(isFocused:boolean); ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:67:9-错误TS1086:无法在环境上下文中声明访问器。 67被检查():布尔值; ~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:68:9-错误TS1086:无法在环境上下文中声明访问器。 68 get disable():布尔值; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:69:9-错误TS1086:无法在环境上下文中声明访问器。 69 get value():任何; ~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/buttons/radio.d.ts:70:9-错误TS1086:无法在环境上下文中声明访问器。 70 get nameAttr():字符串; ~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:42:9-错误TS1086:无法在环境上下文中声明访问器。 42设置间隔(值:数字);~~~~~~~~ node_modules/@ng-bootstrap/ng-bootstrap/carousel/carousel.d.ts:43:9-错误TS1086:无法在环境上下文中声明访问器。 …

2
如何修复Ionic 5中来自@ ionic / angular错误的成员事件
我已经从Ionic 4升级到Ionic 5,现在出现以下错误: src / app / app.component.ts(4,10)中的错误:错误TS2305:模块'“ / node_modules / @ ionic / angular / ionic-angular”'没有导出的成员'Events'。 以下导入行导致了此问题: import { Events, Platform } from '@ionic/angular'; 如何修复@ionic/angularIonic 5中的错误导致的成员事件?

2
我如何包括弹性布局
我试图将flex-layout添加到有角度的应用程序中,但是当我尝试并使用它时,该应用程序会中断。我已经安装了 npm i @angular/flex-layout @angular/cdk 然后导入到app.module.ts中 import { FlexLayoutModule } from '@angular/flex-layout'; import [ FlexLayoutModule ] 我也将打字稿升级到最新的 npm i typescript@latest 但是,当应用尝试编译时,我会遇到各种错误: ERROR in node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:24:19 - error TS1086: An accessor cannot be declared in an ambient context. 24 protected get parentElement(): HTMLElement | null; ~~~~~~~~~~~~~ node_modules/@angular/flex-layout/core/typings/base/base2.d.ts:26:19 - error TS1086: An accessor …

2
ngx-datatable行详细信息内的动态组件
我正在使用ngx-datatable创建可重用的数据表,并且希望在行详细信息内呈现动态组件。数据表组件从父模块接收一个组件类作为参数,我使用ComponentFactory来创建组件。我可以看到该构造函数和onInit方法正在为动态组件运行,但没有附加到DOM。 这就是datatable html的row-detail的样子: &lt;!-- [Row Detail Template] --&gt; &lt;ngx-datatable-row-detail rowHeight="100" #myDetailRow (toggle)="onDetailToggle($event)"&gt; &lt;ng-template let-row="row" #dynamicPlaceholder let-expanded="expanded" ngx-datatable-row-detail-template&gt; &lt;/ng-template&gt; &lt;/ngx-datatable-row-detail&gt; &lt;!-- [/Row Detail Template] --&gt; 这就是我的.ts文件的样子: @ViewChild('myDetailRow', {static: true, read: ViewContainerRef}) myDetailRow: ViewContainerRef; @ViewChild('dynamicPlaceholder', {static: true, read: ViewContainerRef}) dynamicPlaceholder: ViewContainerRef; renderDynamicComponent(component) { var componentFactory = this.componentFactoryResolver.resolveComponentFactory(component); var hostViewConRef1 = this.myDetailRow; var …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.