故事书中未定义的动态Vue组件

时间:2020-01-03 18:58:50

标签: vue.js storybook inline-svg vue-dynamic-components

我有一个动态的Vue组件,我试图在Storybook中为其编写故事。组件监视一个道具,该道具插入一个内联SVG(使用vue-svg-loader)并更新数据,以确定组件是什么。在我的故事中,我不断收到错误Cannot read property 'props' of undefined

在我的组件中,我有:

<template>
  <div class="icon-wrapper">
    <component :is="icon"/>
  </div>
</template>
<script>
export default {
  name: 'Icon',
  props: {
    iconType: {
      type: String,
      required: true,
      default: 'null',
    },
  },
  data () {
    return {
      icon: null,
    };
  },
  watch: {
    iconType: {
      immediate: true,
      handler () {
        this.icon = () => import(`@img/icons/${this.iconType}.svg`);
      },
    },
  },
};
</script>

在我的故事中,我有:

import Icon from '@components/Icon.vue';
const sampleProp = 'cc';

storiesOf('Icon', module)
  .add('single icon', () => ({
    components: { Icon, },
    template: '<Icon :icon-type="sampleProp "/>',
    data: () => ({ sampleProp, }),
  }));

任何见解将不胜感激!

0 个答案:

没有答案