Как передать содержимое child компоненту в storybook для angular?

Я пытался написать один сборник рассказов, используя angular, но я застрял здесь, я не знаю, как смонтировать компонент с дочерним содержимым.

Вот простой компонент, который я планирую написать для него:

@Component({
    selector: 'foo',
    template: `
         <span>bar</span>
         <ng-content></ng-content>`
})
export class FooComponent {
    constructor(){}
}

Код сборника рассказов:

storiesOf('Foo', module).add('Default', () => ({
        component: FooComponent
    })
);

И приведенная выше история для компонента выглядит так: <foo></foo>

Но как я могу написать историю, которая позволит компоненту выглядеть так: <foo><span>content child</span></foo> ?

Я хочу написать историю для компонента, который с содержанием ребенка <span>content child</span> ,

Я буду очень признателен, если у вас есть идеи по этому поводу, спасибо ~

2 ответа

Я нашел одно обходное решение для решения этой проблемы, добавив еще один компонент, который будет представлять компонент с потомком контента, а затем напишу историю для этого дополнительного компонента.

@Component{
  selector: 'foo-with-child',
  template: `<foo>content child</foo>`
class FooComponentWithChild {}

storiesOf('Foo', module).add('with Content Child', () => ({
        component: FooComponentWithChild
    })
);

Вы должны добавить @Input() content атрибут для компонента:

@Component({
    selector: 'foo',
    template: '<span>{{content}}</span>'
})
export class FooComponent {
    @Input('content') content
    constructor(){}
}

и установить реквизит так:

storiesOf('Foo', module).add('Default', () => ({
    component: FooComponent
    props: {
      content: 'Content child'
    }
    })
);

Для получения дополнительной информации проверьте этот вводный сборник рассказов для Angular

Другие вопросы по тегам