小编Raj*_*Raj的帖子

在无头浏览器中运行polymer-3.x 测试

我想在没有浏览器弹出窗口的情况下运行测试。如图所示安装wct-headless并配置wct.config.json

{
  "plugins": {
    "local": {
      "disabled": true
    },
    "headless": {
      "browsers": [
        "chrome",
        "firefox"
      ],
      "browsersOptions": {
        "chrome": [
          "headless",
          "disable-gpu",
          "no-sandbox"
        ],
        "firefox": [
          "--headless"
        ]
      }
    },
    "sauce": false,
    "xunit-reporter": {
      "output": "testfile.xml"
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

执行polymer test时出现以下错误

找不到名为“headless”的 WCT 插件

包.json

"dependencies": {
  "@polymer/polymer": "^3.0.0"
},
"devDependencies": {
  "@polymer/iron-demo-helpers": "^3.0.0-pre.19",
  "@webcomponents/webcomponentsjs": "^2.0.0",
  "wct-browser-legacy": "^1.0.0",
  "wct-headless": "^2.2.2",
  "web-component-tester": "^6.8.0",
  "wct-xunit-reporter": "1.0.2"
}
Run Code Online (Sandbox Code Playgroud)

我应该如何配置 wct.conf.json ??

polymer web-component-tester polymer-3.x

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

如何将params(action.payload)传递给ngrx/effects中的服务?

我是ngrx-6的新手.效果将侦听操作"LOAD_COURSE_DETAILS",并应使用course_id(action.payload)调用服务.但我收到一个错误

"行动"类型中缺少"toFixed"属性.

但是,如果我执行console.log,我可以看到数据从组件传递到效果.

将params添加到效果中

如何将参数传递给服务?

提前致谢.


文件:效果

@Effect()
loadCourseDetails$ = this.actions$.pipe(
  ofType(CourseActionTypes.LOAD_COURSE_DETAILS),
  switchMap((action) => {
    console.log('in course effects', action);
    return this.courseService.getCourseDetails(action).pipe(
      map((data) => new fromCourse.LoadCourseDetailsSuccess(data))
    );
  })
);
Run Code Online (Sandbox Code Playgroud)

file:actions.ts(我的操作定义了有效负载)

export class LoadCourseDetails implements Action {
  readonly type = CourseActionTypes.LOAD_COURSE_DETAILS;
  constructor(public payload: Number) {}
}
export class LoadCourseDetailsSuccess implements Action {
  readonly type = CourseActionTypes.LOAD_COURSE_DETAILS_SUCCESS;
  constructor(public payload: ICourse) {}
}
Run Code Online (Sandbox Code Playgroud)

file:component.ts(dispatch action)

loadCourseDetails(id: Number) {
  console.log('dispatch course id', id);
  this.store.dispatch(new fromCourse.LoadCourseDetails(id));
}
Run Code Online (Sandbox Code Playgroud)

file:service.ts(由效果调用)

getCourseDetails(courseId: Number) {
    return this.http.get(`url/${courseId}.json`);
}
Run Code Online (Sandbox Code Playgroud)

ngrx ngrx-effects angular6

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

如何访问 ngrx/effects 中的解析器数据?(v7)

在组件中有 api 调用,这很耗时,所以我实现了解析器。我希望解析器数据存在于商店中,以供以后使用。我已经实现了 ngrx/store、ngrx/effects 和 ngrx/router-store。

组件中的当前状态

  • 直接从组件中的解析器数据获取数据(路由类型为ActivatedRoute) 比较

期望状态

为了保存解析器数据,我需要访问有效的解析器数据。所以我可以简单地在组件中调度操作并订阅状态。

  • 组件中的调度操作 (LoadSubTopicDetails)
  • 效果将监听操作并访问效果中相同的解析器数据

问题

{}我总是在 CustomSerializer 中的“数据”中变空。

  • 在 app-routing.module.ts 中使用解析器 路由模块

  • 路由到 SubTopic/:subTopicId 时的控制台输出 安慰


如何访问效果中的解析器数据?提前致谢。


代码

减速器/index.ts(CustomSerializer)

export interface RouterStateUrl {
  url: string;
  queryParams: Params;
  params: Params;
  data: any;
}

export const reducers: ActionReducerMap<State> = {
  routerReducer: fromRouter.routerReducer
};

@Injectable()
export class CustomSerializer implements fromRouter.RouterStateSerializer<RouterStateUrl> {
  serialize(routerState: RouterStateSnapshot): RouterStateUrl {
    let route = routerState.root;
    while (route.firstChild) {
      route = route.firstChild;
    }

    const { …
Run Code Online (Sandbox Code Playgroud)

angular ngrx-router-store angular7

0
推荐指数
1
解决办法
2457
查看次数