为了账号安全,请及时绑定邮箱和手机立即绑定

关于vue插槽问题

关于vue插槽问题

慕桂英4014372 2018-08-03 14:12:39
div id="app">    <child slot='head'>        <!-- <p>miqi</p> -->        i am head    </child>    <child slot='foot'>        i am foot    </child></div><script src="./vue.js"></script><script>    Vue.component('child',{        props: ['content'],        template: `<div>                    <slot name='head'></slot>                    <p>hellow</p>                    <slot>默认内容</slot>                    <slot name='foot'></slot>                    </div>`    })    var vm = new Vue({        el: '#app'    })</script>为什么<p>hellow</p> 会执行两次
查看完整描述

2 回答

?
守着星空守着你

TA贡献1799条经验 获得超8个赞

照你的写法 出现两边才是对的啊,你想要的用法是这样的:

<child>
  <div slot="head">I am head</div>
  <div slot="foot">I am head</div>
  覆盖默认
</child>


查看完整回答
反对 回复 2018-08-08
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

因为上面有两个 child 组件,每个 child 里面都有一个 <p>hello</p> 元素。你可以用 vue devtools 查看下

https://img1.sycdn.imooc.com//5b6af8560001eac808000278.jpg

查看完整回答
反对 回复 2018-08-08
  • 2 回答
  • 0 关注
  • 1028 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信