multiline modello direttiva definizione

Sto cercando di fare una direttiva modello multiline. È possibile questo?

myApp.directive('myDir', function() {
return {
    restrict: 'E',        
    template: '<div>
                |Hello,
                |{{test}}!
                |</div>'
    };
});

Ecco un Violino per capire cosa intendo.

OriginaleL’autore igor | 2014-04-17

5 risposte

  1. 3

    Si potrebbe anche concatenare stringhe singole:

    myApp.directive('myDir', function() {
    return {
        restrict: 'E',        
        template: '<div>' +
                'Hello,' + 
                '{{test}}!' +
                '</div>'
        };
    });

    OriginaleL’autore franer

  2. 2

    Si potrebbe anche utilizzare la funzione JavaScript join() per raggiungere questo obiettivo, che penso che un aspetto migliore.

    myApp.directive('myDir', function () {
        return {
            restrict: 'E',
            template: ['<div>',
                'Hello, ',
                '{{test}}!',
                '</div>'].join(''),
        };
    });

    JSFiddle è qui (ho rimosso il |‘s per renderla migliore).

    OriginaleL’autore simeg

  3. 2

    Ho saputo che si potrebbe utilizzare il seguente simbolo tilde (`) per il multi-linea di modello,

    myApp.directive('myDir', function() {
        return {
            restrict: 'E',        
            template: `<div>
                    |Hello,
                    |{{test}}!
                    |</div>`
        };
    });
    Il simbolo utilizzato per racchiudere multi-linea stringa è backtick (`) e fa parte di ES 2015 standard, ulteriori informazioni possono essere trovate qui – stackoverflow.com/questions/27678052/…

    OriginaleL’autore deepesh

  4. 0

    È possibile concatenare stringhe singole e mettere il plus all’inizio di ogni riga, invece che alla fine. Questo funziona bene se si utilizza un 4-spazio di tabulazione: template è di 8 caratteri, in modo che tutti i plus di linea fino in basso a destra il colon.

    myApp.directive('myDir', function() {
    return {
        restrict: 'E',        
        template: '<div>'
                + 'Hello, '
                + '{{test}}!'
                + '</div>'
        };
    });

    Ecco il JSFiddle.

    È sorprendentemente difficile trovare informazioni su se JavaScript se ne frega se hai messo il plus alla fine della linea o all’inizio della successiva. Se qualcuno ha una fonte definitiva, si prega di condividere. Testato in FF, Chrome, IE 11. Immagino che se non era sempre il caso, che sintattica cambiamento è avvenuto un lungo, lungo tempo fa.

    OriginaleL’autore Illya Moskvin

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *