0

Ok。これが良い考えかどうかはわかりません。テンプレートを組み立てるJavascriptファイルにJSON構成を渡すテンプレートを作成しています。

リンクについては、JSON 構成でそれらを構築する方法をいくつかのロジックを含める必要があります。私はこれを呼び出す必要があります:

path.href.replace( /.*view=/, "" ) + ".cfm?id="+content.vcard.adresses[1]["iln/gln"]

私の設定JSONのどれ:

<ul data-template="true" data-config='{  
    "type":"listview",
    "link":"path.href.replace( /.*view=/, '' ) + '.cfm?id='+content.vcard.adresses[1]['iln/gln']",
    "iconpos":"right"
    }'></ul>

引用符の混乱のために機能しないため、JSON は有効ですが、一重引用符で囲むと HTML が台無しになります。

質問:
HTML を壊さずにこれを渡す方法はありますか? これはテンプレートであるため、JavaScript ロジックをできるだけクリーンに保ちたいと考えています。すべてのテンプレート インスタンスにカスタム メソッドを配置するのではありません。そこで、メソッド呼び出しをここに残しておきたいと思います。

ありがとう!

4

2 に答える 2

1

&#39;HTMLエンティティを使用して引用符をエスケープできます:

<ul data-template="true" data-config='{  
    "type":"listview",
    "link":"path.href.replace( /.*view=/, &#39;&#39; ) + &#39;.cfm?id=&#39;+content.vcard.adresses[1][&#39;iln/gln&#39;]",
    "iconpos":"right"
    }'></ul>

ここにデモンストレーションがあります: http://jsfiddle.net/fVLPd/

于 2012-12-11T06:26:48.667 に答える
1

JSON.stringifyオブジェクトから JSON 文字列全体を構築するために使用することを検討してください。誤ってエンコードされた引用符や、他の方法で引用符をエンコードしようとすることを心配する必要はありません。

サーバー側でテンプレートを生成する場合 - サーバー側の言語に JSON エンコーダーを使用します...

于 2012-12-11T06:37:13.303 に答える