实际上,我正在尝试在我的应用程序上实现一个WYSIWYG编辑器。网站上的样本如下:
<!DOCTYPE html>
<html>
<head>
<script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
<script>tinymce.init({ selector:'textarea' });</script>
</head>
<body>
<textarea>Easy! You should check out MoxieManager!</textarea>
</body>
</html>问题是:如何使用角2编程调用库的init方法?
发布于 2016-04-28 07:18:03
在组件(根组件)中添加
ngOnInit():any {
tinymce.init(
{
selector: ".tinyMCE",
})
}发布于 2016-04-28 07:39:51
实际上,您需要将textarea放到引导组件中。不要忘记,Angular2使用基于组件的方法,并且HTML文件没有被“评估”。只有组件中的模板。
因此,您需要在HTML文件中这样做:
<html>
<head>
<!-- includes -->
<!-- SystemJS configuration -->
</head>
<body>
<my-app></my-app>
</body>
</html>并引导具有my-app选择器的组件:
bootstrap(AppComponent);然后,您可以实现一个自定义指令来应用textarea字段的tinymce行为:
@Component({
selector: 'my-app',
(...)
})
export class AppComponent implements OnInit{
constructor(){}
ngOnInit():any {
tinymce.init({
selector: "[tinymce]"
});
}
}只需将tinymce属性(指令的选择器)添加到相应的文本区域:
@Component({
(...)
template: `
<textarea tinymce style="height:300px"></textarea>
`
})
export class AppComponent {
(...)
}请注意,您可以进一步利用表单支持(control和ngModel)。见这个问题:
https://stackoverflow.com/questions/36907807
复制相似问题