首页 > 解决方案 > 在角度更改路线时调用服务

问题描述

我是 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);
  }


}

标签: javascriptangular

解决方案


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);
  )
}

推荐阅读