2016-04-10 25 views
7

Sto costruendo un'app utilizzando i manubri rapidi per il modello sul lato server. Sul lato client, voglio usare vue.js. Tuttavia, entrambi condividono la stessa notazione doppia coppia {{ variable }}. Al momento, le mie variabili vue.js non vengono mostrate perché il mio modello di manubri lo sta sovrascrivendo. Per esempio:Utilizzo di manubri espressi con vue js

home.html:

<div id="app"> 
    {{message}} //this will not show up 
</div> 

home.js:

new Vue({ 
    el: '#app', 
    data: { 
     message: 'Hello Vue.js!' 
    } 
}); 

Tuttavia, se mi definisco message nel mio server di controller di lato:

res.render('../views/home', { 
    message: 'message from handlebars' 
}); 

il messaggio apparirà.

Quindi, in sintesi, c'è un modo in cui posso utilizzare vue.js per il client side templating mentre ancora utilizzo express-handlebars per il server side templating?

Grazie in anticipo!

risposta

12

è possibile modificare la Vue demlimiters a something else, ad es .:

Vue.config.delimiters = ['${', '}'] 
+2

questo non ha funzionato per me come scritto , Attualmente devo impostare delimitatori su ogni nuovo Vew che creo: http://stackoverflow.com/questions/41523427/cant-use-vue-config-delimiters-can-only-set-delimiters-on-new-vue – ripper234

+2

La mia risposta è stata applicata a Vu e 1. In Vue 2, devi effettivamente impostare dei delimitatori per componente. –

+0

Bummer. Ma buono a sapersi. – ripper234

10

Questo può essere risolto con la fuga della prima parentesi nel modello manubrio.

<div id="app"> 
    \{{message}} //this will not be replaced by handlebars 
</div> 
+0

Non sarà gestito dal manubrio .... ma anche non da VueJs (che sembra essere la domanda) –

+0

Ma funziona per me – spikeyang

1

È possibile "fuga" dei delimitatori Vue a manubrio utilizzando una raw block helper:

Handlebars.registerHelper('vue-js', function(options) { 
    return options.fn(); 
}); 

uso nel modello Manubrio:

{{{{vue-js}}}} 
<div id="app"> 
    {{message}} 
</div> 
{{{{/vue-js}}}} 
Problemi correlati