【问题标题】:Can a component be passed through other components?一个组件可以通过其他组件传递吗?
【发布时间】:2017-07-13 14:07:49
【问题描述】:

我最近开始尝试构建一个标准的<Table> 组件,我可以在整个应用程序中使用它。这个想法是应用程序中的所有表都可以以可维护的方式共享通用功能。为此,我认为<Table> 组件本身由它的每个部分的组件组成,并将其中一些组件提供给每个独特用例的每个<Table> 组件,这将是有用的。

<Table> 可能如下所示。

<table>
    <tbody>
        <tr>
            {{#each columns as column}}
                <th>{{column.name}}</th>
            {{/each}}
        </tr>
        {{#each items as item}}
            <Row item="{{item}}" columns="{{columns}}" Column="Column"></Row>
        {{/each}}
    </tbody>
</table>

&lt;Row&gt; 可能如下所示。

<tr>
    {{#each columns as column}}
        <Column item="{{item}}" column="{{column}}"></Column>
    {{/each}}
</tr>

&lt;Column&gt; 可能如下所示。

<td>{{item[column.key]}}</td>

这个想法是,每次使用 &lt;Table&gt; 时,都会提供一个自定义的 &lt;Column&gt;。这将很有用,因为每个表都有不同的数据,因此在每种情况下需要对列进行不同的处理。但是,我在想办法让一个组件通过其他组件传递时遇到了麻烦。这在 Svelte 中可行吗?

顺便说一句,我注意到最近似乎在 GitHub 上讨论了 something like this。虽然我当然知道可以使用 new 构造函数在组件中实例化组件,但这种方法不会被挂接到 Svelte 生命周期中,这很重要。

【问题讨论】:

    标签: svelte


    【解决方案1】:

    目前还没有一种简洁的方法来做到这一点(这是可能的,但您必须在 oncreateondestroy 中执行安装/卸载逻辑,并在 oncreate 中添加观察者以保持一切正常日期),但我们可能很快就会实施——请关注#640 以获取更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-01-19
      • 2019-03-11
      • 1970-01-01
      • 2021-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-03
      相关资源
      最近更新 更多