Integrate xterm.js to Angular












1















I'm new to Angular.
I'm trying to use xterm.js (https://xtermjs.org/) but it display badly.
Here is the render :
Render



I created a xterm component. The xterm.component.ts file code is :



import { Component, OnInit } from '@angular/core';
import { Terminal } from "xterm";

@Component({
selector: 'app-xterm',
templateUrl: './xterm.component.html',
styleUrls: ['./xterm.component.css'],
})
export class XtermComponent implements OnInit {
public term: Terminal;
container: HTMLElement;

constructor() { }

ngOnInit() {
this.term = new Terminal();
this.container = document.getElementById('terminal');
this.term.open(this.container);
this.term.writeln('Welcome to xterm.js');
}
}


My xterm.component.html only contains this :



<div id="terminal"></div>


I don't really know what to do more ...
Thanks in advance guys










share|improve this question





























    1















    I'm new to Angular.
    I'm trying to use xterm.js (https://xtermjs.org/) but it display badly.
    Here is the render :
    Render



    I created a xterm component. The xterm.component.ts file code is :



    import { Component, OnInit } from '@angular/core';
    import { Terminal } from "xterm";

    @Component({
    selector: 'app-xterm',
    templateUrl: './xterm.component.html',
    styleUrls: ['./xterm.component.css'],
    })
    export class XtermComponent implements OnInit {
    public term: Terminal;
    container: HTMLElement;

    constructor() { }

    ngOnInit() {
    this.term = new Terminal();
    this.container = document.getElementById('terminal');
    this.term.open(this.container);
    this.term.writeln('Welcome to xterm.js');
    }
    }


    My xterm.component.html only contains this :



    <div id="terminal"></div>


    I don't really know what to do more ...
    Thanks in advance guys










    share|improve this question



























      1












      1








      1








      I'm new to Angular.
      I'm trying to use xterm.js (https://xtermjs.org/) but it display badly.
      Here is the render :
      Render



      I created a xterm component. The xterm.component.ts file code is :



      import { Component, OnInit } from '@angular/core';
      import { Terminal } from "xterm";

      @Component({
      selector: 'app-xterm',
      templateUrl: './xterm.component.html',
      styleUrls: ['./xterm.component.css'],
      })
      export class XtermComponent implements OnInit {
      public term: Terminal;
      container: HTMLElement;

      constructor() { }

      ngOnInit() {
      this.term = new Terminal();
      this.container = document.getElementById('terminal');
      this.term.open(this.container);
      this.term.writeln('Welcome to xterm.js');
      }
      }


      My xterm.component.html only contains this :



      <div id="terminal"></div>


      I don't really know what to do more ...
      Thanks in advance guys










      share|improve this question
















      I'm new to Angular.
      I'm trying to use xterm.js (https://xtermjs.org/) but it display badly.
      Here is the render :
      Render



      I created a xterm component. The xterm.component.ts file code is :



      import { Component, OnInit } from '@angular/core';
      import { Terminal } from "xterm";

      @Component({
      selector: 'app-xterm',
      templateUrl: './xterm.component.html',
      styleUrls: ['./xterm.component.css'],
      })
      export class XtermComponent implements OnInit {
      public term: Terminal;
      container: HTMLElement;

      constructor() { }

      ngOnInit() {
      this.term = new Terminal();
      this.container = document.getElementById('terminal');
      this.term.open(this.container);
      this.term.writeln('Welcome to xterm.js');
      }
      }


      My xterm.component.html only contains this :



      <div id="terminal"></div>


      I don't really know what to do more ...
      Thanks in advance guys







      javascript angular xtermjs






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 16 '18 at 12:20







      Clément Drouin

















      asked Nov 14 '18 at 20:06









      Clément DrouinClément Drouin

      4616




      4616
























          2 Answers
          2






          active

          oldest

          votes


















          0














          Try to use in template reference variable by using the hash symbol



          <div #myTerminal></div>


          and in component



          @ViewChild('myTerminal') terminalDiv: ElementRef;


          In ngOnInit



          ngOnInit() {
          this.term = new Terminal();
          this.term.open(this.terminalDiv.nativeElement);
          this.term.writeln('Welcome to xterm.js');
          }





          share|improve this answer
























          • Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

            – Clément Drouin
            Nov 16 '18 at 16:52



















          1














          You must set the component encapsulation



          @Component({
          encapsulation: ViewEncapsulation.None,
          ...
          })





          share|improve this answer























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53307998%2fintegrate-xterm-js-to-angular%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            0














            Try to use in template reference variable by using the hash symbol



            <div #myTerminal></div>


            and in component



            @ViewChild('myTerminal') terminalDiv: ElementRef;


            In ngOnInit



            ngOnInit() {
            this.term = new Terminal();
            this.term.open(this.terminalDiv.nativeElement);
            this.term.writeln('Welcome to xterm.js');
            }





            share|improve this answer
























            • Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

              – Clément Drouin
              Nov 16 '18 at 16:52
















            0














            Try to use in template reference variable by using the hash symbol



            <div #myTerminal></div>


            and in component



            @ViewChild('myTerminal') terminalDiv: ElementRef;


            In ngOnInit



            ngOnInit() {
            this.term = new Terminal();
            this.term.open(this.terminalDiv.nativeElement);
            this.term.writeln('Welcome to xterm.js');
            }





            share|improve this answer
























            • Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

              – Clément Drouin
              Nov 16 '18 at 16:52














            0












            0








            0







            Try to use in template reference variable by using the hash symbol



            <div #myTerminal></div>


            and in component



            @ViewChild('myTerminal') terminalDiv: ElementRef;


            In ngOnInit



            ngOnInit() {
            this.term = new Terminal();
            this.term.open(this.terminalDiv.nativeElement);
            this.term.writeln('Welcome to xterm.js');
            }





            share|improve this answer













            Try to use in template reference variable by using the hash symbol



            <div #myTerminal></div>


            and in component



            @ViewChild('myTerminal') terminalDiv: ElementRef;


            In ngOnInit



            ngOnInit() {
            this.term = new Terminal();
            this.term.open(this.terminalDiv.nativeElement);
            this.term.writeln('Welcome to xterm.js');
            }






            share|improve this answer












            share|improve this answer



            share|improve this answer










            answered Nov 16 '18 at 12:37









            Yury PolubinskyYury Polubinsky

            908




            908













            • Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

              – Clément Drouin
              Nov 16 '18 at 16:52



















            • Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

              – Clément Drouin
              Nov 16 '18 at 16:52

















            Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

            – Clément Drouin
            Nov 16 '18 at 16:52





            Thanks for your reply. Same display with this code... I don't really get it, i think it's a CSS problem. My goal is to use xtermjs to execute git command in a terminal, but idk how to do so.

            – Clément Drouin
            Nov 16 '18 at 16:52













            1














            You must set the component encapsulation



            @Component({
            encapsulation: ViewEncapsulation.None,
            ...
            })





            share|improve this answer




























              1














              You must set the component encapsulation



              @Component({
              encapsulation: ViewEncapsulation.None,
              ...
              })





              share|improve this answer


























                1












                1








                1







                You must set the component encapsulation



                @Component({
                encapsulation: ViewEncapsulation.None,
                ...
                })





                share|improve this answer













                You must set the component encapsulation



                @Component({
                encapsulation: ViewEncapsulation.None,
                ...
                })






                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Dec 29 '18 at 19:18









                Victor96Victor96

                3,1211711




                3,1211711






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53307998%2fintegrate-xterm-js-to-angular%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    這個網誌中的熱門文章

                    Post-Redirect-Get with Spring WebFlux and Thymeleaf

                    Xamarin.form Move up view when keyboard appear

                    JBPM : POST request for execute process go wrong