如何通过Vue而不是Jinja进行渲染

<template id="task-template">

<h1>My Tasks</h1>

<tasks-app></tasks-app>

<ul class="list-group">

<li class="list-group-item" v-for="task in list">

{{task.body|e}}

</li>

</ul>

</template>

以上是我的html。我想改为通过Vue呈现代码。

<script>

Vue.component('tasks-app', {

template: '#tasks-template',

data: function() {

return {

list: []

}

}

created: function() {

$.getJson('/api/tasks', function(data) {

this.list = data;

})

}

})

new Vue({

el: 'body',

});

</script>

上面是我的Vue代码,Jinja提出了一个例外,即“任务”未定义,我希望的是Vue而不是Jinja呈现的html代码,我知道可以在Laravel中使用以下代码来完成:

"@{{task.body}}"

由于我是Jinja的新手,所以有人可以帮助我吗?

回答:

另一个选择是重新定义Vue.js使用的分隔符。如果你有很多现有的模板代码,并且希望开始将Vue.js功能添加到Flask或Django项目中,则这非常方便。

var app = new Vue({

el: '#app',

data: {

message: 'Hello Vue!'

},

delimiters: ['[[',']]']

})

然后在你的HTML中,你可以混合使用Jinja和Vue.js模板标签:

    <div id="app">

{{normaltemplatetag}}

[[ message ]]

</div>

不知道何时添加了“ delimiters”属性,但该属性在2.0版中。

以上是 如何通过Vue而不是Jinja进行渲染 的全部内容, 来源链接: utcz.com/qa/424588.html

回到顶部