2016-07-19 1 views
0

私は何か間違っているのかどうかはわかりませんが、オブジェクトのキーとして「日付」があり、正しく評価するのではなく、 。ダストJSドット文字列にキー名

{#.weeks pos=items} 
    {pos['2016-02-15].id} 
{/.weeks} 

出力:

{} pos.'2016-02-15'.id

どのように私は、出力IDではなく、出力文字列ができますか?

+0

データの内容を明確にすることはできますか? – Interrobang

答えて

0

ダストでは、文字-を配列キーの一部として使用できません。

あなたのコメントに記載されているように、-はダストリファレンスに許可されていますが、ルールは少し異なります。

ダストリファレンスは数字で始まってはならず、文字は0-9a-zA-Z_$-である必要があります。これは、ハイフンを除いて、実際のJavascript変数のルールを反映しています。

配列キーは数字で始めることができますが、ハイフンは使用できません。したがって、キーの一部として日付を使用する場合、ダストは日付が数字で始まるため、配列キー評価パスを使用します。

この配列キーの評価パス使用して、例えば、働くだろう:

{#.weeks pos=items} 
    {pos[date-2016-02-15].id} 
{/.weeks} 

あなたが持っているでしょう:それは基準評価パスを使用しているため、

{#.weeks pos=items} 
    {pos[20160215].id} 
{/.weeks} 

だから、これは希望をあなたのデータを少し狂わせる。

ダストが参照名を処理する方法に矛盾があると思います。初期のDustでは、参照は有効なJS変数名のみが許可されていました。この制限は後で緩和されましたが、明らかにその周りに粗いビットがあります。

+0

データを逃したり避けたりする方法はありませんか? – xivo

+1

この形式でキーを抽出するカスタムヘルパーを書くことができます。 – Interrobang

+0

これはダストテンプレートでも読んでいます。ダストキーは、a-z、A-Z、_(アンダースコア)、$、0-9、または - – xivo

関連する問題