【发布时间】:2017-11-29 21:30:57
【问题描述】:
我有一本带脚注的书,我想展示它。 我将脚注放在大括号内。
为了检索 cmets 并将它们显示在不同的窗口中,我在 Angular 2 中编写了以下类:
export class BookreaderComponent implements OnInit {
comments() {
var regexp = new RegExp('\{(\s*?.*?)*?\}');
var array= regexp.exec(this.book);
console.log(array);
}
constructor(public appServices: AppServices, private http: Http, private route: ActivatedRoute) { }
book: string;
Name: string;
json: string;
ngOnInit() {
this.route.params.subscribe(params => {
this.Name = params['name'];
this.http.get("./assets/" + params['url'])
.map(ref => {
return ref;
}).subscribe(ref => {
this.book = ref.text();
this.comments();
});
});
}
该类调用comments 函数,该函数对包含大量大括号文本的大量文本调用正则表达式函数。问题是正则表达式函数加载时间很长(我等了又等,它没有加载),同时整个页面都卡住了。
有没有办法加快这个速度,或者把它分解成更小的块?或者我应该尝试不同的方式来显示这些脚注?
【问题讨论】:
-
从之前的评论中,“看起来是因为它是从右到左的,并且与花括号混淆了” - 我不熟悉从右到左的文本,但会检查出来吧。