問題:
django模板與vue.js的變量都是使用“{{”和“}}”包裹起來的,在渲染django模板時會先替代掉所有的“{{”和“}}”及被包裹在其中的內容,使得vue.js沒有使用”{{“、”}}”來綁定變量。
處理方法:
方法1:修改vue.js的默認的綁定符號
Vue.config.delimiters = ["[[", "]]"];
執行這個之後,你就可以使用“[[”、“]]”來綁定變量的數據了
方法2:使用模板的標籤來輸出“{{”、“ }}”
django模板的templatetag
可以渲染模板時輸出模板標籤,標籤參數及輸出如下:
參數 | 輸出 |
---|---|
openblock |
{% |
closeblock |
%} |
openvariable |
{{ |
closevariable |
}} |
openbrace |
{ |
closebrace |
} |
opencomment |
{# |
closecomment |
#} |
我們可以在模板中用
{% templatetag openvariable %}
{% templatetag closevariable %}
來替代”{{“、”}}”
方法3:禁用django模板渲染
django標籤 verbatim可以使包裹其中的代碼不進行渲染保持原樣輸出
{% verbatim %}
{{ vue }}
{% endverbatim %}
我們可以在需要用於vue.js的地方使用{% verbatim %} {% endverbatim %}包裹。