Vue prop-在字符串中传递单引号和双引号

时间:2019-07-14 07:37:30

标签: javascript php vue.js

问题

我有一个像这样的字符串(包含:单引号和双引号)。

  

她说:“嘿!那是我的自行车!”

我需要它成为Vue组件中的标题。我可以将它传递到插槽中,但是由于其他原因,如果我可以将其传递到道具中,那就太棒了,

<?php
$title = "She said: \"Hey! That's my bike!!\""
?>
<page-object
  title="<?php echo $title; ?>"
>
</page-object>

尝试解决方案

Attempt1::我尝试转义引号,但这是行不通的。像这样:

<page-object
  title="Hey, single quote: ' and double quote: \" ... Doesn't work!"
>
</page-object>

Attempt2:我可以不用双引号,而可以做这样的事情:

<?php
$title = "She said: \"Hey! That's my bike!!\""
$title = str_replace( '"', "'", $title );
?>
<page-object
  title="<?php echo $title; ?>"
>
</page-object>

...,但这并不理想,因为这是最终用户设置页面标题的方法。因此,这有点废话,不允许/自动替换这个(经常使用的)字符。

Attempt3::使用JSON对其进行JSON编码,但这会生成一个长字符串,我需要利用try2的解决方案,以使其正常工作。因此,仍然无法在页面标题中同时包含单引号和双引号。


理想情况下,我正在寻找一个神奇的函数,该函数可以在PHP中运行任何字符串,并输出JSON对象。然后,我可以将其作为道具传递并在Vue组件中进行解析,确保单引号和双引号都可以从该锁孔中通过。

0 个答案:

没有答案