天天看點

vue - slot

slot:父元件中的内容代替了子元件中的 slot 标簽,使得我們可以在

不同地方使用子元件的結構而且填充不同的父元件内容。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>slot</title>
</head>
<body>
    <div id="app">
            <my-slot>
                <p slot="title">{{ title }}</p>
                <div slot="content">{{ content }}</div>
            </my-slot>
    </div>
<script src="http://cdn.bootcss.com/vue/2.1.10/vue.js"></script> 
<script>
    Vue.component('my-slot', {
 template : '<div>\
  <div class="title"> \
   <slot name="title"></slot> \
  </div> \
  <div class="content"> \
        <slot name="content"></slot> \
  </div> \
 </div>',
});
    var vm = new Vue({
        el:"#app",
        data:{
            title:"I am title",
            content:"I am content"
        },
    }) 
</script>  
</body>
</html>
           

最終渲染結果是:

<div>
 <div class="title">
  <p slot="title">This is a title</p>
 </div>
 <div class="content">
  <div slot="content">This is the content</div>
 </div>
</div>