javascript - 在角度更改路线时调用服务
问题描述
我是 angular2 的新手并创建了一个项目 usibg angularjs。在我的应用程序中,当用户使用参数更改路由时,我想调用该服务。当我第一次来时,服务调用成功,但是当我更改参数时,我的服务没有调用。这是我的代码:
constructor(private route:ActivatedRoute,
private service: CourseService
){}
private player: Player;
id:'';
coursesData:'';
courseDetail:'';
getModulesData:'';
ngOnInit() {
this.route.params.subscribe(params =>
this.id = params["id"]
)
var courseList = JSON.parse(localStorage.getItem("courses"));
this.coursesData = courseList.data;
for(var i=0; i<courseList.data.length; i++){
if(courseList.data[i].course_id == 4){
this.courseDetail = courseList.data[i]
break;
}
}
this.service.getCourseDetails(this.id).subscribe((courseDetails:any) =>{
this.getModulesData = courseDetails.data
})
setTimeout(function(){
this.player = new Player("player");
}, 0);
}
}
解决方案
ngOnInit() {
this.route.params.subscribe(params =>
this.id = params["id"]
var courseList = JSON.parse(localStorage.getItem("courses"));
this.coursesData = courseList.data;
for(var i=0; i<courseList.data.length; i++){
if(courseList.data[i].course_id == 4){
this.courseDetail = courseList.data[i]
break;
}
}
this.service.getCourseDetails(this.id).subscribe((courseDetails:any) =>{
this.getModulesData = courseDetails.data
})
setTimeout(function(){
this.player = new Player("player");
}, 0);
)
}
推荐阅读
- css - 应用带有渐变的 CSS hue-rotate() 过滤器
- python - Turtle 中的主菜单
- algorithm - 压缩二进制文件
- plot - 如何扩展绘图边距以使 chorddiagram 不会剪切标签?
- oracle - 如何使用 macOS 在 SQLDeveloper 中创建用户?
- python - 如何对两个文件中的列进行求和和相乘?
- java - 在 findViewById(R.id.myListView) 上找不到符号
- reactjs - 如何使用标签式导航
- python - TypeError,send_mail() 缺少 1 个必需的位置参数:'recipient_list'
- php - PHP 7 升级未捕获的异常“错误”,消息“不能将字符串偏移量用作数组”