如何逃避道具的单引号?

问题描述:

我有一个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 }}”

但它崩溃,只需插入列表,直到第一个单引号,然后将写入一切在浏览器中的文本。

我该如何逃避它?

+0

我不知道vue.js什么,但你肯定只能用单引号工作? –

+0

用双引号我有相反的问题,道具读取所有东西,直到第一个“然后将文本呈现为列表的其余部分 – lapinkoira

+1

当'vue'读取它时,你如何期待'strings'变量结束? –

这工作正常。如果该数组正被用作变量,则只需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>