我正在尝试使用 Angular2 制作一个简单的 Markdown 内联编辑器。我尝试了几种方法,但似乎都没有。我安装了用 npm 标记的,现在它在项目 node_modules 目录中可见。我可以导入它并且它被netbeans识别。现在,当我使用它时,什么都不起作用,如果我打开 firefox 调试器,我会发现 localhost:3000/marked not found。
我将降价转换器放在服务中。看起来如下:
import { Injectable } from 'angular2/core';
import * as marked from 'marked';
interface IMarkdownConfig {
sanitize?: boolean,
gfm?: boolean,
breaks?: boolean,
smartypants?: boolean
}
@Injectable()
export class MarkdownService {
//private md: MarkedStatic;
constructor() {
//this.md = marked.setOptions({});
}
setConfig(config: IMarkdownConfig) {
// this.md = marked.setOptions(config);
}
convert(markdown: string): string {
if(!markdown) {
return '';
}
return markdown;
//return this.md.parse(markdown);
}
}
像这样使用一切正常,除了没有翻译降价。如果我用 md 取消注释所有行,它将停止工作。我使用它的组件如下所示:
import {Component, Input, OnInit } from 'angular2/core';
import {RouteParams} from 'angular2/router';
import {MarkdownService} from '../services/markdown-converter'
@Component({
selector: 'my-story',
templateUrl: 'app/components/story.html',
bindings: [MarkdownService]
})
export class StoryComponent implements OnInit {
public html: string;
private md: MarkdownService;
constructor(
private _routeParams: RouteParams, private _converter: MarkdownService) {
this.html ='';
this.md = _converter;
}
ngOnInit() {
}
public updateValue(val:string) {
if(!val) { return ''; }
this.html = val;
}
}
我没有显示所有涉及的文件,但如果有文件我应该提供,请在评论中询问。如果我对 Typescript 和/或 Angular2 注入或其他内容有什么误解,欢迎提供任何解释这些概念的信息资源。我在 www 上阅读了很多,但似乎所有关于 Angular2 的文档都很快过时了。