<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">
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
<title>访问slot</title>
</head>
<body>
<style>
#app{
border: 1px solid;
padding:10px;
text-align: center;
}
</style>
<div id="app">
<my-component>
<p>我是父组件的内容</p>
</my-component>
<hr>
具名插槽(有具体名字的插槽): 视图不变,数据变
<name-component>
<h3 slot="header"><span>我是标题</span></h3>
<p>我是正文内容</p>
<p>正文内容有两段</p>
<p slot="footer">我是底部信息</p>
</name-component>
</div>
<script>
var app = new Vue({
el: '#app',
components:{
'my-component':{
template:'<div>\
<slot>\
如果没有内容,我就默认出现\
</slot>\
</div>'
},
'name-component':{
template:'<div>\
<div class="header">\n' +
' <slot name="header">' + //取出name是 header 对应的内容
'</slot>\n' +
' </div>\n' +
' \n' +
' <div class="container">\n' +
' <slot>' + // 没加 name 会把默认的取回来
'</slot>\n' +
' </div>\n' +
'\n' +
' <div class="footer">\n' +
' <slot name="footer">' + //取出name是footer对应的内容
'</slot>\n' +
' </div>' +
'</div>',
mounted:function(){
// 访问插槽
var header = this.$slots.header
var text = header[0].elm.innerText
var html = header[0].elm.innerHTML
console.log(header)
console.log(text)
console.log(html)
}
},
}
})
</script>
</body>
</html>
Output
You can jump to the latest bin by adding /latest
to your URL
Keyboard Shortcuts
Shortcut | Action |
---|---|
ctrl + [num] | Toggle nth panel |
ctrl + 0 | Close focused panel |
ctrl + enter | Re-render output. If console visible: run JS in console |
Ctrl + l | Clear the console |
ctrl + / | Toggle comment on selected lines |
ctrl + ] | Indents selected lines |
ctrl + [ | Unindents selected lines |
tab | Code complete & Emmet expand |
ctrl + shift + L | Beautify code in active panel |
ctrl + s | Save & lock current Bin from further changes |
ctrl + shift + s | Open the share options |
ctrl + y | Archive Bin |
Complete list of JS Bin shortcuts |
JS Bin URLs
URL | Action |
---|---|
/ | Show the full rendered output. This content will update in real time as it's updated from the /edit url. |
/edit | Edit the current bin |
/watch | Follow a Code Casting session |
/embed | Create an embeddable version of the bin |
/latest | Load the very latest bin (/latest goes in place of the revision) |
/[username]/last | View the last edited bin for this user |
/[username]/last/edit | Edit the last edited bin for this user |
/[username]/last/watch | Follow the Code Casting session for the latest bin for this user |
/quiet | Remove analytics and edit button from rendered output |
.js | Load only the JavaScript for a bin |
.css | Load only the CSS for a bin |
Except for username prefixed urls, the url may start with http://jsbin.com/abc and the url fragments can be added to the url to view it differently. |