首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >初始化角2中的第三方库

初始化角2中的第三方库
EN

Stack Overflow用户
提问于 2016-04-28 07:15:44
回答 2查看 1.5K关注 0票数 1

实际上,我正在尝试在我的应用程序上实现一个WYSIWYG编辑器。网站上的样本如下:

代码语言:javascript
复制
<!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方法?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-28 07:18:03

在组件(根组件)中添加

代码语言:javascript
复制
  ngOnInit():any {
    tinymce.init(
      {
        selector: ".tinyMCE",
      })
  }

另见angular2 wysiwyg tinymce implementation and 2-way-binding

票数 2
EN

Stack Overflow用户

发布于 2016-04-28 07:39:51

实际上,您需要将textarea放到引导组件中。不要忘记,Angular2使用基于组件的方法,并且HTML文件没有被“评估”。只有组件中的模板。

因此,您需要在HTML文件中这样做:

代码语言:javascript
复制
<html>
  <head>
    <!-- includes -->
    <!-- SystemJS configuration -->
  </head>
  <body>
    <my-app></my-app>
  </body>
</html>

并引导具有my-app选择器的组件:

代码语言:javascript
复制
bootstrap(AppComponent);

然后,您可以实现一个自定义指令来应用textarea字段的tinymce行为:

代码语言:javascript
复制
@Component({
  selector: 'my-app',
  (...)
}) 
export class AppComponent implements OnInit{
  constructor(){}
  ngOnInit():any {
    tinymce.init({
      selector: "[tinymce]"
    });
  }
}

只需将tinymce属性(指令的选择器)添加到相应的文本区域:

代码语言:javascript
复制
@Component({
  (...)
  template: `
    <textarea tinymce style="height:300px"></textarea>
  `
})
export class AppComponent {
  (...)
}

请注意,您可以进一步利用表单支持(control和ngModel)。见这个问题:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36907807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档