2016-12-07 5 views
0

非常に単純なフォームフィールドコンポーネントがあり、ラベル付きの入力を表示します。 コンポーネント/フォームフィールドinput.hbsEmber JSがHTMLを含むコンポーネントプロパティに値を渡す

{{form-field-input label="Which of our products do you like the most?" type='Text' value=favouriteProduct}} 

が、私は私のアプリで別のルートにリンクするラベル内の単語に製品をしたいと言う

<label>{{label}}</label> 
{{input value=value type=type }} 

template.hbsこれはすべての製品をリストしています。これができる方法はありますか?

文字がエスケープされるため、以下のことはできません。ラベルが親テンプレートのJSファイルに作成され、渡される方法はありますか?

{{form-field-input label="Which of our {{#link-to 'products'}}products{{/link-to}} do you like the most?" type='Text' value=favouriteProduct}} 
+0

なぜスニペットですか? – Mahi

+0

を使用しないときは、htmlをプロパティとして渡すのではなく、コンテキストコンポーネントを使用することを検討しましたか?私はあなたが説明した方法の代わりに、コンテキストのコンポーネントを介してhtmlコンテンツを提供することを好む。コンテキストコンポーネントがオプションの場合は、私は助けることができます。 – alptugd

+0

あなたは 'ラベルpre'、'ラベルlink'、 'ラベルPOST'、' forwardRouteName'のような部分にあなたの 'label'財産を送信し、必要に応じてコンポーネントでそれらを組み合わせることができます。 – AcidBurn

答えて

0

あなたは、私はあなたのcomponent.hbsコンポーネントを使用する場合は、あなたが直接あなたの通常のHTMLを配置することができますし、corectlyレンダリングされます

<label>{{markdown-to-html label}}</label> 
{{input value=value type=type }} 

ファイルember-cli-showdown

ember install ember-cli-showdown 

をインストールすることを検討します。

{{form-field-input label="Which of our <a href='/products'>products</a> do you like the most?" type='Text' value=favouriteProduct }} 

このヘルプが欲しいです。

0

コンポーネントブロックを使用して、上記の問題を修正できます。

// hbs 
{{#if hasBlock}} 
    <label>{{yield}}</label> 
{{else}} 
    <label>{{label}}</label> 
{{/if}} 
{{input value=value type=type }} 

// using in template -- if need custom markup 
{{#form-field-input type='Text' value=favouriteProduct}} 
    {{#link-to 'products'}}products{{/link-to}} 
{{/form-field-input}} label="Which of our products do you like the most?" 

// using in template -- if custom markup not needed 
{{form-field-input label="Which of our products do you like the most?" type='Text' value=favouriteProduct}} 
関連する問題