2017-12-21 36 views
0

여기 제가 시도하고있는 것이지만, 논리가 옳지 않다고 생각합니다.텍스트 길이에 따라 TinyMCE 편집기의 높이를 동적으로 조정하는 방법

저는 편집기의 텍스트 내용을 사용하고 편집기의 높이를 동적으로 결정하려고합니다. tinymce.component.ts

ngAfterViewInit() { 
    tinymce.init({ 
      convert_urls: false, 
      selector: '#' + this.elementId, 
      // .... 
      // .... more properties... 
      // .... 
      setup: editor => { 
       editor.on('SetContent',function(e){ 
        const content = e.content; 

        var newHeight = String(content.length/2); 
        editor.theme.resizeTo("100%",newHeight);   
       }); 
      }, 
    }); 
} 

어쨌든 에디터의 높이에서

은 여전히 ​​권리와 동적에 대한 것 같습니다하지 않습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

+0

하는 시점에서이 작은 MCE를 초기화하는? 라이프 사이클 후크를 물어 본다는 의미인가요? –

+0

@ web-master-ngAfterViewInit()에서이 작업을 수행하고 있습니다. 할 수있는 적절한 곳입니까? 어쨌든 작은 mce를 초기화하는 것만으로도 프로그램이 잘 돌아가는 것 같습니다. – Ronaldo

+0

https://www.tinymce.com/docs/integrations/angular2/ - 유용한 링크. 저는 연기 현상을 잘 모릅니다. ngAfterViewInit 자체에서 높이를 설정하는 위치의 setContent 이벤트가 트리거됩니까? –

답변

0

사용하려고 Autoresize Plugin

예 :

ngAfterViewInit() { 
    tinymce.init({ 
    convert_urls: false, 
    selector: '#editor', 
    plugins: 'autoresize', 
    autoresize_min_height: 100, 
    autoresize_max_height: 1000, 
    autoresize_bottom_margin: 0 
    }); 
} 
+0

은 무료입니까? 그렇지 않다면 ... 이것을 할 수있는 자유로운 방법이 있습니까? – Ronaldo

+0

TinyMCE 자체가 무료라고 확신하지 못합니다. –

+2

TinyMCE는 오픈 소스 프로젝트이므로 오픈 소스 라이센스를 준수하는 한 편집기 자체는 "무료"입니다. Autoresize 플러그인은 오픈 소스 프로젝트의 일부입니다. –