小编oba*_*bar的帖子

模块“DynamicTestModule”导入了意外值“[object Object]”

我遇到主题错误的问题。我正在使用 Angular 7 版本。这是我的测试:landing.component.spec.ts

import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { LandingComponent } from './landing.component';
import { PegasPanelComponent } from '../pegas-panel/pegas-panel.component';
import { TranslateModule, TranslateService } from '@ngx-translate/core';
import { TranslateServiceStub } from 'src/app/app-tests.spec';
import { RouterModule } from '@angular/router';


describe('LandingComponent', () => {
  let component: LandingComponent;
  let fixture: ComponentFixture<LandingComponent>;

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [LandingComponent, PegasPanelComponent, ],
      imports: [RouterModule, TranslateModule],
      providers: [{
        provide: TranslateService,
        useClass: TranslateServiceStub
      }]
    }).compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(LandingComponent);
    component …
Run Code Online (Sandbox Code Playgroud)

testing angular

5
推荐指数
1
解决办法
9857
查看次数

如何在 Angular 中订阅服务

我有 3 个对象: - 第一个组件 - 连接服务 - 第二个组件

第一个组件在折叠/展开时应通过服务展开/折叠第二个组件。

在服务中,我有函数toggle(),它应该只更改布尔isOpen的布尔变量。在它旁边我还有其他函数 getIsOpen() ,其返回类型为 Observable。代码如下所示:

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs/internal/Observable';
import { of } from 'rxjs/internal/observable/of';

@Injectable()
export class ConnectService {
  public isOpen = false;

  public toggle(): void {
    this.isOpen = !this.isOpen;
    console.log('Im inside toggle');
  }

  public getIsOpen(): Observable<boolean>{
    console.log('Im inside getIsOpen');
    return of(this.isOpen);
  }
}
Run Code Online (Sandbox Code Playgroud)

在第二个组件中,我尝试订阅:

public ngOnInit(): void {
  this.connectionService.getIsOpen().subscribe(x => this.isFirstComponentExpanded = x);
}
Run Code Online (Sandbox Code Playgroud)

但唯一的效果只是在页面加载后,单击后,第二个组件没有折叠或展开。如何在没有事件发射器的情况下监听服务内部的每个更改(我需要避免那里的任何事件发射器,只有可观察值、订阅和主题)。

service observable rxjs typescript angular

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

angular ×2

observable ×1

rxjs ×1

service ×1

testing ×1

typescript ×1