vue.js - 仍然无法将变量从烧瓶分配给 vue.js
问题描述
基本上我想做的是将变量从烧瓶传递给 vue.js,但似乎没有任何效果。到目前为止,我已经尝试了很多选项,并且从JavaScript 提出的建议会在 Jinja 模板中渲染数据引发 SyntaxError但我的问题仍然存在。我想要做的是当从烧瓶传递参数 d_var 时,我希望它使用 vue.js 显示在 html(title_variable) 上。
Vue.JS 代码
var app = new Vue({
el: "#app",
delimiters : ['[[', ']]'],
data: {
message: "Hello vue! (a dynamic thing)",
title_variable = {{d_var}},
indication true,
j: "You should work harder"
}
HTML
<div id="app">
<p>
{{ message }}
</p>
<p>
<span v-bind:title="title_variable">
Show me some text...
</span>
</p>
</div>
烧瓶
from flask import Flask, Response, jsonify, request, flash,
render_template,
import os
import json
app = Flask(__name__)
@app.route("/")
def home():
d_var = 'ahahahah'
return render_template("index.html", title_variable=d_var)
if __name__=="__main__":
app.secret_key=os.urandom(12)
app.run(debug=True,host='0.0.0.0',port=5000)
解决方案
这里有几个问题...
您已设置要使用的 Vue 分隔符,
[[...]]
因此您应该使用[[ message ]]
在你的 Vue 模板中
Flask 传递
d_var
给index.html
astitle_variable
所以你应该在其中使用{{...}}
,而不是d_var
您的 JavaScript
data
对象无效。您不应该使用=
来分配属性值。试试这个var app = new Vue({ el: "#app", delimiters : ['[[', ']]'], data: { message: "Hello vue! (a dynamic thing)", title_variable: {{ title_variable|tojson }}, indication: true, j: "You should work harder" } })
有关
tojson()
过滤器的信息,请参见此处 ~ https://flask.palletsprojects.com/en/1.1.x/templating/#standard-filters
推荐阅读
- javascript - 如何切换从 API 获取数据的开/关按钮?
- amazon-web-services - 在 AWS Cognito 中对用户进行身份验证
- three.js - 试图在three.js中改变圆柱体对象的视角而不实际移动它的位置
- mysql - 当一张表有许多不同的索引时,MySQL有多少个b+树?
- javascript - JQuery .click 仅在每第二次单击时工作
- c++ - 如何使用 C++ 函数指针作为 C 函数指针/回调的参数
- php - Windows上的Mysql查询语法错误,适用于Linux
- android - Facebook Android SDK 未记录购买事件
- html - 尝试将社交媒体图标添加到顶部栏的左上角
- javascript - Lodash:如何从对象数组中获取唯一值,然后按这些唯一值对这些对象进行排序?