2017-01-13 5 views
0

私はCMSから引き出しているユーザー提供のテキストのブロックを持っています。しかし、その文字列は単純な文字列であり、文字列全体を吹き飛ばしてエラーを返します。私はVueをこれに踏み込まないようにするソリューションを見つけようとしています。私は壁に衝突しました。私は気持ちがありますが、それは恥ずかしいほど明らかです。コードは次のとおりです。vue.jsのユーザー提供データで、どのように処理するのですか?

問題の原因は、「what's」(具体的にはアポストロフィ)のように見えます。ユーザーは頻繁にこれらのアポストロフィが頻繁にポップアップする完全な文を返すので、データはそれらを適切に処理できる必要があります。どのようにこれを達成するためのアイデア?

また、エラーが返される

がある:「キャッチされないでSyntaxError:予期しない識別子」

答えて

1

いずれかの二重引用符を使用するか、または@georaldcが指摘するように、適切

sidebarContent: '<p>This is example text of what\'s being returned.</p>',

+0

をここで私は含められているはずのデータ値です。二重引用符は魅力的でした。ストリングをエスケープすることは実現できませんでした。私たちのCMSユーザーにコンテンツをエスケープするように要求することはできません。 –

+0

あなたのユーザが "? – djones

+0

"と入力した場合どうなりますか(質問)私はそれを試してみたところ、うまく表示されています –

0

だからあなたの文字列をエスケープ、私がいましたこの問題を間違った方法で解決しようとしています。問題はVueではなく、私のカミソリの使用であった。

解決策は、私の剃刀コードにHttpUtility.JavscriptStringEncodeを使用することでした。

sidebarContent: '@Html.Raw(HttpUtility.JavaScriptStringEncode(Model.Element("BodyCopy").Value))', 

次のスレッドも、この解決に役立ちました: - あきれるほど明白な私が思ったようHow to elegantly escape single and double quotes when passing C# string to javascript

関連する問題