Я бы хотел использовать вывод компонента в качестве параметра для моего помощника, но не добился большого успеха.
Мой шаблон Ember выглядит примерно так:
<td class="wrap">
{{generate-url 'http://stackoverflow.com' 'Visit'}}
</td>
и помощник:
import { helper } from '@ember/component/helper';
import { htmlSafe } from '@ember/string';
export function helperFunction (params) {
if (!params) {
return "";
}
var link = params[0];
if (!link) {
return "";
}
var linkText = params[1];
if (!linkText) {
linkText = link;
}
return new htmlSafe('<a href="' + link + '">' + linkText + '</a>');
}
export default helper(helperFunction);
Два вместе сгенерированных успешно генерируют:
<td class="wrap">
<a href="http://stackoverflow.com">Visit</a>
</td>
Теперь у меня есть компонент (my-component.hbs), который выводит HTML со следующими данными:
{{#if name}}
<span class="red">{{longName}}</span>
{{/if}}
Этот компонент работает, если на него есть ссылка в шаблоне, например так: {{my-component name="abc" longName="alphabet"}}
(отображает <span class="red">alphabet</span>
, как и ожидалось).
Но я в тупике, пытаясь получить вывод HTML вВторой параметр generate-url
для получения:
<td class="wrap">
<a href="http://stackoverflow.com"><span class="red">alphabet</span></a>
</td>
Я попытался наивно {{generate-url 'http://stackoverflow.com' (my-component name="abc" longName="alphabet")}}
, но он выводит ошибки, когда оценивается этот конкретный руль.