本文介绍了当注射类实例化ngOnInit不会被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
任何想法,为什么 ngOnInit()
当注射
类解决就不叫?
code
进口{注射,OnInit中}从'angular2 /核心;
进口{RestApiService,RestRequest}从'./rest-api.service';@Injectable()
出口类MovieDbService实现的OnInit { 构造函数(私人_movieDbRest:RestApiService){
window.console.log('FROM构造函数()');
} ngOnInit(){
window.console.log('FROM ngOnInit()');
} 公共getMovie(){任何
window.console.log('FROM getMovie())
this._movieDbRest.globalParameters ['API_KEY'] = MOVIE_DB_API_KEY;
this._movieDbRest.baseUrl = MOVIE_DB_BASE_URL;
VAR movieRequest =新RestRequest();
movieRequest.endPoint ='/发现/ tt1431045';
movieRequest.parameters ['EXTERNAL_SOURCE'] ='imdb_id';
VAR promiseToReturn:无极<字符串取代; promiseToReturn =新承诺<串GT;(解析= GT;
this._movieDbRest.executeRequest(movieRequest)。然后(电影= GT; {
解析(动画);
window.console.log(电影);
}
));
返回promiseToReturn;
}
}
控制台输出
从构造函数()
FROM getMovie()
解决方案
生命周期挂钩,如的OnInit()
与指令和组件工作。他们不与其他类型的工作,像你的情况的服务。从文档:
这篇关于当注射类实例化ngOnInit不会被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!