Использование express handlebars с vue js
Я создаю приложение, используя express handlebars для шаблонов на стороне сервера. На стороне клиента я хочу использовать vue.js. Тем не менее, они оба имеют одинаковую двойную скобку {{ variable }}
. Прямо сейчас, моя вю.переменные js не отображаются, потому что мой шаблон руля переопределяет его. Например:
дома.HTML-код:
<div id="app">
{{message}} //this will not show up
</div>
дома.js:
new Vue({
el: '#app',
data: {
message: 'Hello Vue.js!'
}
});
однако, если я определяю message
в моем контроллере на стороне сервера:
res.render('../views/home', {
message: 'message from handlebars'
});
сообщение появляться.
Итак, вкратце, есть ли способ использовать vue.js для шаблонов на стороне клиента, все еще используя express-handlebars для шаблонов на стороне сервера?
спасибо заранее!
3 ответов
вы можете изменить демлимитеры Vue на что-то другое, например:
Vue.config.delimiters = ['${', '}']
Это можно решить, избежав первой скобки в шаблоне руля.
<div id="app">
\{{message}} //this will not be replaced by handlebars
</div>
вы можете "избежать" разделителей Vue в руле, используя сырой блок helper:
Handlebars.registerHelper('vue-js', function(options) {
return options.fn();
});
использование в шаблоне руля:
{{{{vue-js}}}}
<div id="app">
{{message}}
</div>
{{{{/vue-js}}}}