我目前正在使用 Angular 7+ 和Highcharts API。
我使用以下官方 Github 链接集成了 Highcharts 。
callbackFunction我们可以使用 Highcharts 中的一个来获取图表实例。但是,我还没有弄清楚两件事:
options,例如在 Angular中的哪个生命周期钩子中?或者它是否独立于生命周期钩子。我看到了一个开发人员的例子,他callbackFunction在ngOnInit生命周期钩子中使用了while并且它起作用了(即我们从回调中获得了一个图表实例)。然而,同样的不适用于ngOnChanges钩子。
所以我的观点是,假设有一个@Input与graph dataHighcharts.chart相关的属性(比如追加一个新系列),那么我将不得不使用 ngOnChanges 方法来检测输入属性和ngOnChanges 的变化将根据this在 ngOnInit 之前调用。那么我将如何获得图表实例?那么我将如何做一个 addSeries 呢?
为什么addSeries只button click在 ngOnInit上工作而不在 ngOnInit 中工作?取消注释里面的第 59 行hello.component.ts可以看到它。
请参阅hello.component.ts任何详细信息。
我在 Angular 7+ 中使用Highcharts API 。
假设在某个组件中,我的图表类型是“区域”,我的工具提示代码如下:
tooltip:{
shared : true,
outside : true,
useHTML : true,
formatter(){
let str = `<table>`;
this.points.forEach((point)=>{
str = str.concat(
`<tr>
<td style="color: ${point.series.color};font-size: 0.9em"></td>
</tr>
`
);
str = str.concat('</table>');
return str;
})
}
}
Run Code Online (Sandbox Code Playgroud)
现在,在对该组件进行单元测试时,代码覆盖率不是 100%,并且在 index.html 文件中显示工具提示部分未被覆盖。如何检查是否相同?
在这种情况下,我对代码流有点困惑。请参考下面的代码。
import { fromEvent } from 'rxjs';
import { mapTo } from 'rxjs/operators';
let btn = document.getElementById("btnclick");
let btn_clicks = fromEvent(btn, 'click');
let positions = btn_clicks.pipe(mapTo ("Testing MapTo"));
positions.subscribe(x => console.log(x));
Run Code Online (Sandbox Code Playgroud)
Testing MapTo当我单击按钮时它会输出。一开始我认为每当按钮点击发生时,该.pipe()方法被调用,然后该.subscribe()方法被调用导致它在控制台中输出。然而我读到,
subscribe is for activating the observable and listening for emitted values
Run Code Online (Sandbox Code Playgroud)
在链接中。
问题:
this.http.get('url')
.pipe(
filter(x => x % 2 === 0), …Run Code Online (Sandbox Code Playgroud)