小编pur*_*zen的帖子

如何在 Angular 单元测试中的子组件上执行方法

我正在使用默认测试设置(Jasmine + Karma)运行 Angular 5 应用程序。

假设有一个名为 Parent 的组件,它有一个在子组件上执行方法的方法。

父组件.ts

@Component({
  selector: 'parent',
...
export class ParentComponent implements {
  @ViewChild(ChildComponent) childComponent: ChildComponent;

  executeChildComponentMethod() {
    this.childComponent.methodToTest();
  }
}
Run Code Online (Sandbox Code Playgroud)

父组件规格

import { ParentComponent } from './parent.component'

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

  beforeEach(async(() => {
    TestBed.configureTestingModule({
      declarations: [ParentComponent],
        schemas: [NO_ERRORS_SCHEMA]
      })
      .compileComponents();
    }));

  beforeEach(() => {
    fixture = TestBed.createComponent(ParentComponent);
    component = fixture.componentInstance;
    fixture.detectChanges();
  });

  it('should trigger executeChildComponentMethod', () => {
    component.executeChildComponentMethod()
  });
});
Run Code Online (Sandbox Code Playgroud)

这会导致测试抛出错误,提示无法执行未定义的 methodToTest.. 这意味着子组件未实例化。

尝试过在 it …

unit-testing jasmine angular

4
推荐指数
1
解决办法
8392
查看次数

如何在Rails应用程序中包含带有自定义css和js文件的静态页面

我正在研究一个基本的Rails应用程序(Rails版本4.1),我想在其中包含一个静态页面.我有一个具有以下目录结构的静态页面:

| | - index.html | - css文件夹| - (某些css文件)| - js文件夹| - (某些js文件)| - images文件夹| - (某些图像)

如何将其包含在我的应用程序中?我打算把它作为我的主页顺便说一下.

我已经尝试在控制器中使用'layout'关键字,将html文件包含在'app/views/layout'目录中.但是,我最多能够呈现'index.html'文件,但它错过任何样式,即呈现为纯文本.通过使用HighVoltage gem,我已经能够获得相同的结果.

html javascript css layout ruby-on-rails

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

如何从任何组件外部调用 React 的 setState 函数(如实用程序函数)?

我有一个应用程序,我想将读取、写入操作移至实用程序文件,即远离组件。我正在尝试这样做。

组件.js

import { saveData } from './utils/fileSave.js';

class App extends Component {
    saveContent() {
        saveData(this.setState, data);
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

utils/fileSave.js

const saveData = (setState, data) => {
    setState(data);
}
Run Code Online (Sandbox Code Playgroud)

但是,这会导致错误,显示“TypeError:无法读取未定义的属性‘updater’”

不确定这是否是正确的方法。

javascript reactjs

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