Emberコンポーネントをラップするとき、そのプロパティを省略するときに内部コンポーネントのデフォルトに戻ってプロパティを渡す方法を教えてください。例えばEmberコンポーネントをラッピングするときにプロパティを渡す
、super-input
で包まれますbasic-input
取る:
コンポーネント/基本input.js
export default Component.extend({
placeholder: "foo"
});
テンプレート/コンポーネント/基本input.hbs
{{ input placeholder=placeholder }}
を
componエント/超input.js
export default Component.extend({});
テンプレート/コンポーネント/超input.hbs
<label>
<span>{{label}}</span>
{{ basic-input placeholder=placeholder }}
</label>
渡すplaceholder
super-input
に作品
{{super-input label="baz" placeholder="bar"}}
が、どのように我々は許可しませんプロパティがomiの場合に使用されるbasic-input
のデフォルト値はfoo
です何か?
{{super-input label="baz"}}
ここにはいろいろあります:http://jsfiddle.net/e8w0brgb/ –
'basic-input'コンポーネントは必要な機能を実装する必要があります(つまり、プレースホルダが定義されていない場合はデフォルト値を使用します)。そのためには、alptugdが提案するものや '{{入力プレースホルダ=(プレースホルダプレースホルダ 'foo')}}'を使用できます。 – kumkanillam