【发布时间】:2018-07-16 22:55:49
【问题描述】:
问题
出于某种原因,当我将 Font Awesome 图标作为 router-link 的第一个子元素时,Vue 决定忽略该图标之后的任何内容(图标本身有效)。
请参阅以下内容:
<router-link to="/"><font-awesome-icon icon="book" />Documentation</router-link>
这个输出:
// Actual:
<a...><svg>...<svg></a>
// Expected:
<a...><svg>...<svg>Documentation</a>
有其他人经历过吗?我做错了吗?
我尝试过的
我尝试将图标和文本包装在 span 标记中,如下所示:
<router-link to="/"><span><font-awesome-icon icon="book" />Documentation</span></router-link>
这会产生与上面相同的结果(加上 span 标签)...
我还尝试将图标放在另一侧(仅用于测试),这很有效!
<router-link to="/">Documentation<font-awesome-icon icon="book" /></router-link>
上述测试有效,但是,这显然不是我想要的,我并不太热衷于使用 CSS 重新定位图标(非常肮脏的修复)
我的假设
我相信这实际上可能是渲染空元素时 vue-router 的一个错误,但我不能确定。我想我可以用<br /> 标签进行测试,看看会发生什么……我会回来的!
更新:我可以确认空元素确实有效!我刚刚尝试了以下方法,效果很好:
<router-link to="/"><br />Documentation</router-link>
【问题讨论】:
-
您找到解决方案了吗?
-
我在 25 分钟前才问过... :-) - 不,还没有
-
找到一个,正在输入
-
@Mohd_PH 你有同样的问题吗?我只是在玩 Vue,所以我不介意,但我想我会问这个问题,以防其他人遇到它......
-
@Mohd_PH 我希望有人告诉我我做错了,或者这是一个错误。我实际上对找到解决方法并不感兴趣,因为我可能很容易做到这一点......更多的是关于这是否是正确的方法:-)
标签: vue.js vuejs2 font-awesome vue-router