如何逃避道具的单引号?
问题描述:
我有一个Django上下文变量,它是一个字符串jsonified名单,但其中的一些字符串可能会通过他的道具,其中一个有一个单引号'如何逃避道具的单引号?
import json
list_of_strings = ["test", "hello", "I have a'single quote"]
return render(request, 'template.html', {
'strings': json.dumps(list_of_strings)
})
然后,我将它插入VUE组成部分,因为你可以看到,必须包裹在单引号之间。
:strings='{{ strings|safe }
}”
但它崩溃,只需插入列表,直到第一个单引号,然后将写入一切在浏览器中的文本。
我该如何逃避它?
答
这工作正常。如果该数组正被用作变量,则只需v-bind
的变量名称。如果数组被注入到组件实例化中,则需要用单引号替换单引号。
new Vue({
el: '#app',
data: {
list_of_strings: ["test", "hello", "I have a'single quote"]
},
components: {
showString: {
props: ['strings']
}
}
});
<script src="//cdnjs.cloudflare.com/ajax/libs/vue/2.4.2/vue.min.js"></script>
<div id="app">
<show-string :strings="list_of_strings" inline-template>
<div>
<div v-for="s in strings">{{s}}</div>
<div v-for="s in ['some', 'array', 'single\'quote']">{{s}}</div>
</div>
</show-string>
</div>
我不知道vue.js什么,但你肯定只能用单引号工作? –
用双引号我有相反的问题,道具读取所有东西,直到第一个“然后将文本呈现为列表的其余部分 – lapinkoira
当'vue'读取它时,你如何期待'strings'变量结束? –