使用明智的手柄与vue js

我正在build立一个应用程序使用快车手柄为服务器端模板。 在客户端,我想使用vue.js. 但是,它们都共享相同的双括号记法{{ variable }} 。 现在,我的vue.jsvariables不显示,因为我的句柄模板重写它。 例如:

home.html的:

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

home.js:

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

不过,如果我在我的服务器端控制器中定义message

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

该消息将显示。

所以总之,有没有一种方法可以使用vue.js进行客户端模板,同时仍然使用express-handlebars进行服务器端模板化?

提前致谢!

你可以改变Vue demlimiters到别的东西 ,例如:

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

这可以通过转移车把模板中的第一个大括号来解决。

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

你可以通过使用原始块帮助器来“转义”把手中的Vue分隔符:

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

在把手模板中的用法:

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