我使用angular2创建了一个测验制作/分享网站,但我不确定如何分享测验。我正在考虑将每个测验标识符用作URL。测验使用表单进行,并作为JSON保存在docmentdb中。他们有唯一的ID来识别它们。关于我如何做到这一点的任何想法?
必须动态创建这些URL,因为可以提交新的测验并随后访问。
答案 0 :(得分:0)
您可以使用相同的基本网址进行测验,但可以通过路径参数区分测验,例如:
quizsite.com/#/quiz/12 (12 being quiz id)
在组件内部,您可以通过访问ActivateRoute对象来读取网址中的路径参数及其值:
<强>组件强>
import { Component } from '@angular/core';
import { ActivatedRoute } from '@angular/router';
@Component({
templateUrl: 'quizComponent.html',
})
export class QuizComponent {
constructor(private activatedRoute: ActivatedRoute){}
ngOnInit() {
// Reason for this being a observable is that you can watch
parameter changing (manually in url, or programmatically)
and without any page refresh, read new parameter and change you quiz
this.activatedRoute.params.subscribe(params => {
console.log(params.quizId);
// With this parameter you can make call to your REST API and return
data for that quiz
});
}
}