如何使用带有 Vuejs 的“Mustache”语法的烧瓶模板? [复制]

Posted

技术标签:

【中文标题】如何使用带有 Vuejs 的“Mustache”语法的烧瓶模板? [复制]【英文标题】:How do I use flask templating with Vuejs's “Mustache” syntax? [duplicate] 【发布时间】:2017-12-25 12:04:21 【问题描述】:

似乎有一些重叠。

例如,这段代码:

  <div id="entry">
    <textarea rows="20" v-model="input"></textarea>
    <div>
       input | md 
    </div>
  </div>
  <script src="https://unpkg.com/vue@2.1.3/dist/vue.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/marked/0.3.6/marked.min.js"></script> 
 <script>
var vm = new Vue(
  el: '#entry',
  data: 
    input: ''
  ,
  filters: 
    md: function(val)
      return marked(val)
    
  
)
</script>

在这里似乎可以正常工作:https://jsfiddle.net/5qvc815w/(除了在降价中呈现的 html 标签)

但在烧瓶中我得到了

jinja2.exceptions.TemplateAssertionError
TemplateAssertionError: no filter named 'md'

它似乎在寻找 jinja2 来发现花括号中的内容,而不是它应该在 vue.js 中做的事情。

【问题讨论】:

【参考方案1】:

当 Vue 的默认插值分隔符与其他框架冲突时,您可以customize them。

var vm = new Vue(
  delimiters:['$', ''],
  el: '#entry',
  data: 
    input: ''
  ,
  filters: 
    md: function(val)
      return marked(val)
    
  
)

这样使用:

<div>
  $ input | md 
</div>

【讨论】:

以上是关于如何使用带有 Vuejs 的“Mustache”语法的烧瓶模板? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

使用 Blade/Mustache 模板混合 Laravel 和 Vue.Js

JSON 对象到 Mustache.js 表中

如何使用带有 vuejs 指令和 browserify 的引导选择插件

如何使用带有历史回退和 expressjs 路由的 vuejs 路由

带有vuejs的wordpress如何链接到网站页面

vuejs学习笔记