Javascript 在angular2中加载模板时,如何调用函数?
我是安格拉尔的新手。我需要在模板加载/初始化时调用函数。我知道如何在angular1.x中实现这一点,但我无法找到如何在angular-2中实现这一点 这就是我在angular1.x中尝试的方式 在html中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中使用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}`);
}
}