【发布时间】:2018-05-06 01:46:28
【问题描述】:
我有一个小加载组件,我希望其默认文本为“加载中...”。插槽的好候选人,所以我有这样的东西作为我的模板:
<p class="loading"><i class="fa fa-spinner fa-spin"></i><slot>Loading...</slot></p>
这使我可以更改加载消息,例如<loading>Searching...</loading>。不过,我想要的行为不仅是在未提供插槽内容时显示默认消息,而且在插槽内容为空或空白时显示默认消息。目前,如果我执行例如<loading>{{loadingMessage}}</loading> 并且 loadingMessage 为空,则不会显示任何文本(我希望显示默认文本)。所以理想情况下我需要测试this.$slots.default。这告诉我内容是否传入,但我如何找到它是否为空? this.$slots.default.text 返回未定义。
【问题讨论】:
标签: vue.js