javascript - Express 数据模板与 Vue.js 数据冲突

标签 javascript node.js express vue.js

我正在开发一个 HTML 渲染应用程序,其中我的后端框架使用 Express,前端使用 Vue.js。

后端:

function handleHome(request, response) {
  response.render('home', { title: 'Express' });
}

前端 home.html 和 js

<div id="app">
  <h1>{{ title }}</h1>
  <h4>{{ author }}</h4>
  <p>{{ content }}</p>
</div>
var vm1 = new Vue({
  el: '#app',
  data: {
      author: 'Johnnie Walker',
      title: 'Aging Your Own Whisky',
      content: 'A bunch of steps and a whole lot of content'
  }
});

渲染时,Express 会删除所有 {{stuff}} 并将其设为空,这与 Vue.js 冲突。如何在不影响 Express 的情况下实现这一目标并使用 Vue.js 构建前端操作?基本上我想从express中转义{{stuff}}。如何做到这一点?

最佳答案

Express 和 Vue.js 都使用 {{}} 作为插值分隔符。您可以使用以下命令更改 vue.js 端的这些分隔符:

var vm1 = new Vue({
  el: '#app',
  delimiters: ['${', '}'],  // <--
  data: {
      author: 'Johnnie Walker',
      title: 'Aging Your Own Whisky',
      content: 'A bunch of steps and a whole lot of content'
  }
});

现在,您应该更改模板以匹配给定的分隔符:

<div id="app">
  <h1>${ title }</h1>
  <h4>${ author }</h4>
  <p>${ content }</p>
</div>

以上字符串将由 vue.js 进行插值,而不是 Express。

来源:https://v2.vuejs.org/v2/api/#delimiters

关于javascript - Express 数据模板与 Vue.js 数据冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47403388/

相关文章:

php - 使用 serializearray 从 jquery 对象返回文件名

javascript - 使用 javascript 获取已安装扩展的列表

node.js - 在Nightmare.js中无法读取null的 'blur'属性

angularjs - 使用适用于 Visual Studio 的 Angular 和 NodeJS 工具构建 NodeJS 应用程序

javascript - express - winston : Write Express Access Logs to File

javascript - 从 .catch(error) 返回未在 Node/Express 中返回

javascript - Leaflet.js - 我可以在单个多边形内添加多个孔/切口吗

javascript - javascript修改后如何获取Html代码?

windows - 在我的项目中安装 npm 模块

node.js - 错误 : TSError: ⨯ Unable to compile TypeScript