如何解析SimpleChange对象中的信息currentValue属性?

时间:2016-03-17 07:53:52

标签: angular

我正在尝试使用返回SimpleChange对象的onChanges lifecycle hook。查看此对象,我看到2个属性:currentValue和previousValue。

我将一个数字数组传递给此钩子,并尝试使用显示Array类型的currentValue。例如,这是一个plunker。我是控制台注销对象以查看如何使用它。

我尝试检查docs on SimpleChange,但我找不到更多信息。

我的问题:

  1. 有没有办法解析这个数组?它甚至是一个阵列?

  2. 我是否正确使用此挂钩?我想将数据传递给自定义指令,该指令使用此数据使用ng2-charts创建图表。排序与此other stackoverflow answer相关但在构造函数之外。该图表应建立在传递给指令的数据更改的基础上。

  3. 我可以使用SimpleChange以外的替代对象吗?博客或文章中的任何示例?

  4. 有关SimpleChange和生命周期挂钩的任何推荐资源?文档有点干,没有很多例子。

  5. 感谢阅读!对不起,我会过夜,但会在早上再次检查。

1 个答案:

答案 0 :(得分:1)

check working - plunker

注意:您将获得未定义的值,因为未设置初始值。现在看起来是plunker。顺便说一句,您可以使用Rest Operator {strong} ...OnChanges这样的好处,

ngOnChanges(...args: any[]) {  // isn't it so simple ?
        console.log('onChange fired');
        console.log('changing', args[0].storage);
        console.log('previous', args[0].storage.previousValue);
        console.log('current', args[0].storage.currentValue);
        console.log('previous value', args[0].storage.previousValue[0]);
        console.log('current value', args[0].storage.currentValue[0]);
 }