0

我的网页中有一个顶级组件,它聚合了其他组件。现在我需要一个组件仅在按下按钮时呈现,即在我的视图模型中设置一个标志。那么,我应该如何使用我的顶级组件呢?我是否应该根据标志的值使用 if else 条件,而不是在顶层包含隐藏组件。

toplevel.view = {
    show_comp() ? [comp1, comp2, hiddencomp] : [comp1, comp2]
}

这里我根据 show_comp() 的值来渲染隐藏的组件。这是惯用的方法还是我可以做得更好?此外,我发现其中一个警告是视图不应返回虚拟 dom 对象,就像我在上面的代码中返回的那样。那么,我会遇到上述代码的问题吗?

谢谢

4

1 回答 1

3

你应该没事。更清晰的表达方式是:

toplevel.view = {
    return [comp1, comp2, show_comp ? hiddencomp : null]
}

您提到的“警告”没有多大意义——视图必须返回虚拟 DOM 对象才能呈现任何内容:嵌套组件必须返回单个根节点(包含您选择的内容),并且不能直接返回节点数组——但这对于顶级组件来说很好。

于 2015-12-06T15:58:29.393 回答