Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在angular2中加载模板时,如何调用函数?_Javascript_Angularjs_Angular - Fatal编程技术网

Javascript 在angular2中加载模板时,如何调用函数?

Javascript 在angular2中加载模板时,如何调用函数?,javascript,angularjs,angular,Javascript,Angularjs,Angular,我是安格拉尔的新手。我需要在模板加载/初始化时调用函数。我知道如何在angular1.x中实现这一点,但我无法找到如何在angular-2中实现这一点 这就是我在angular1.x中尝试的方式 在html中 这就是我在angular1.x中使用ng init的方式,但是angular-2中没有ng init?请帮助我解决这个问题。检查组件的生命周期事件。根据您所说的,您可能需要ngAfterViewInit @Component({ ... }) class MyComponent {

我是安格拉尔的新手。我需要在模板加载/初始化时调用函数。我知道如何在angular1.x中实现这一点,但我无法找到如何在angular-2中实现这一点

这就是我在angular1.x中尝试的方式 在html中
这就是我在angular1.x中使用ng init的方式,但是angular-2中没有ng init?请帮助我解决这个问题。

检查组件的生命周期事件。根据您所说的,您可能需要ngAfterViewInit

@Component({
 ...
})
class MyComponent {
  constructor() {
    // when component class instance is created
  }

  ngOnChanges(...) {
    // when inputs are updated
  }

  ngOnInit() {
    // after `ngOnChanges()` was called the first time
  }

  ngAfterViewInit() {
    // after the view was created
  }

  ngAfterContentInit() {
    // after content was projected
  }
}

另请参见angular2中的完整列表,您可以使用组件阶段
ngOnInit
它等于angularJS中的init。这里有更多的信息

例如:

export class PeekABoo implements OnInit {
 constructor(private logger: LoggerService) { }

 // implement OnInit's `ngOnInit` method
 ngOnInit() { 
  this.logIt(`OnInit`); 
 }

 protected logIt(msg: string) {
  this.logger.log(`#${nextId++} ${msg}`);
 }
}

如果我在我的组件中声明ngAfterViewInit()函数,那么在加载该函数时,该函数中的逻辑会反映到我的视图中。请澄清我的问题?谢谢对不起,我不明白这个问题。你所说的“将反映到我的观点”是什么意思。如果视图中有
{{someProp}}
,则每当运行更改检测时,它都会更新。Angular2不喜欢在更改检测期间更改模型。您将得到(表达式已更改…)错误
ngOnInit()
ngochanges()
是由更改检测调用的方法(不记得其他方法)。我需要更多关于你想要完成的事情的详细信息,以提供更具体的反馈。对不起,我的问题本身有问题。。我的意思是,如果我在我的组件中声明ngAfterViewInit()函数,我的逻辑就是从localstorage获取名称。如果我的模板加载了调用的ngAfterViewInit()函数(就像我在angular-1.x中使用ng init所做的那样),以便我可以从LocalStorage获取值,因此我可以在html中显示。没有任何更改的迹象。只是显示。“没有变化的迹象。只是显示。”在Angular2中,您通常为属性赋值(变化),当变化检测检测到属性发生变化时,视图中的绑定会更新。
@Component({
 ...
})
class MyComponent {
  constructor() {
    // when component class instance is created
  }

  ngOnChanges(...) {
    // when inputs are updated
  }

  ngOnInit() {
    // after `ngOnChanges()` was called the first time
  }

  ngAfterViewInit() {
    // after the view was created
  }

  ngAfterContentInit() {
    // after content was projected
  }
}
export class PeekABoo implements OnInit {
 constructor(private logger: LoggerService) { }

 // implement OnInit's `ngOnInit` method
 ngOnInit() { 
  this.logIt(`OnInit`); 
 }

 protected logIt(msg: string) {
  this.logger.log(`#${nextId++} ${msg}`);
 }
}