Angular组件视图初始化后如何在指令中执行一些代码

时间:2019-08-07 16:41:06

标签: angular

我正在使用Angular 8,并且有一个组件,我在其中添加了自己的指令。我正在寻找一种方法,能够在component(具有该指令的)视图init之后在指令的主体中调用函数。必须从指令而不是组件调用此函数,因为我在各种组件中使用了此指令。

1 个答案:

答案 0 :(得分:2)

如果要在指令中执行代码,则它具有与组件相同的生命周期挂钩。来自lifecycle hooks上的文档:

  

指令具有相同的生命周期挂钩集。

这意味着您可以创建一个指令并为其提供ngAfterViewInit钩子,如下所示:

#include <iostream>
#include <string>

typedef unsigned char BYTE;

int main(int argc, char *argv[])
{
  BYTE byteArray[5] = { 0x48, 0x65, 0x6C, 0x6C, 0x6F };
  std::string s(reinterpret_cast<char*>(byteArray), sizeof(byteArray));
  std::cout << s << std::endl;

  return EXIT_SUCCESS;
}