有没有办法对Vue组件中的插槽内容应用过滤器?
为了澄清,我想手动截断HTML中包含的文本。例如,我想转换以下内容:
<!-- In the view -->
<my-component>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Cumque,
laboriosam quasi rerum obcaecati dignissimos autem laudantium error
quas voluptatibus debitis?
</my-component>
变成这样:
<!-- Generated component -->
<div>
Lorem ipsum dolor sit amet, consectetur adipisicing ...
</div
我在文档中似乎找不到这方面的信息。
谢谢你。
6条答案
按热度按时间gc0ot86w1#
同样的事情在类似的方式下可以是:
在main.js文件中:
在您模板中:
fykwrbwg2#
您可以使用filter将其截断。
然后为过滤器指定所需的字符串长度
在子组件中,slot中的内容是按原样传递的,不能作为可以从子端截断的变量使用。
ryoqjall3#
@community答案的一个小修正:
组件内:
或全球:
它仍然可以用同样的方式使用:
gzszwxb44#
你也可以这样做:
或
然后像这样使用它:
如果你想知道更多的vue过滤器,我建议你读这个:How to Create Filters in Vue.js with Examples
nwsw7zdq5#
您可以只使用slice js方法来指示字符串的
begin
和end
位置。More infouwopmtnx6#
对于nuxt应用程序,这对我很有效:
这是我的过滤器