亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

詳解Vue.js 作用域、slot用法(單個slot、具名slot)

 更新時間:2019年10月15日 10:37:44   作者:吳聲子夜歌  
這篇文章主要介紹了Vue.js 作用域、slot用法(單個slot、具名slot),本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

作用域

在介紹slot前,需要先知道一個概念:編譯的作用域。比如父組件中有如下模板:

<child-component>
 {{message}}
<child-component>

這里的message就是一個slot,但是它綁定的是父組件的數(shù)據(jù),而不是組件< child-component >的數(shù)據(jù)。

父組件模板的內容是在父組件作用域內編譯,子組件模板的內容是在子組件作用域內編譯。

<div id="app">
 <child-component v-show="showChild"></child-component>
</div>
<script>
 Vue.component('child-component',{
 template: '<div>子組件</div>'
 });

 var app = new Vue({
 el: '#app',
 data: {
  showChild: true
 }
 });
</script>

這里的狀態(tài)showChild綁定的是父組件的數(shù)據(jù),如果想在子組件上綁定,那應該是:

<div id="app">
 <child-component></child-component>
</div>
<script>
 Vue.component('child-component',{
 template: '<div v-show="showChild">子組件</div>',
 data: function () {
  showChild: true
 }
 });

 var app = new Vue({
 el: '#app'
 });
</script>

因此,slot分發(fā)的內容,作用域是在父組件上的。

slot用法

單個slot:

在子組件使用特殊的< 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">
 <script src="https://unpkg.com/vue/dist/vue.js"></script>
 <title>單個slot</title>
</head>
<body>
 <div id="app">
 <cild-component>
  <p>分發(fā)的內容</p>
  <p>更多分發(fā)的內容</p>
 </cild-component>
 </div>
 <script>
 Vue.component('child-component',{
  template: '\
  <div>\
   <slot>\
   <p>如果父組件沒有插入內容,我將作為默認出現(xiàn)</p>\
   </slot>\
  </div>'
 });

 var app = new Vue({
  el: '#app'
 });
 </script>
</body>
</html>

子組件child-component的模板內定義了一個< slot >元素,并且用一個< p >作為默認的內容,在父組件沒有使用slot時,會渲染這段默認的文本;如果寫入了slot,那就會替代整個< slot >標簽。

上面示例渲染后的結果為:

<div id="app">
 <div>
 <p>分發(fā)的內容</p>
 <p>更多分發(fā)的內容</p>
 </div>
</div>

注意:子組件< slot >內的為備用內容,它的作用域是子組件本身。

具名slot:

給< slot >元素指定一個name后可以分發(fā)多個內容,具名slot可以與單個slot共存。

<div id="myApp">
 <child-component>
 <h2 slot="header">標題</h2>
 <p>正文內容</p>
 <p>更多的正文內容</p>
 <div slot="footer">底部信息</div>
 </child-component>
</div>
<script>
 Vue.component('child-component',{
 template: '\
  <div class="container">\
  <div class="header">\
   <slot name="header"></slot>\
  </div>\
  <div class="main">\
   <slot></slot>\
  </div>\
  <div class="footer">\
   <slot name="footer"></slot>\
  </div>\
  </div>'
 });

 var myApp = new Vue({
 el: '#myApp'
 });
</script>

子組件內聲明了3個< slot >元素,其中在< div class=“main” > 內的 < slot >沒有使用name特性,它將作為默認slot出現(xiàn),父組件沒有使用slot特性的元素與內容都將出現(xiàn)在這里。

如果沒有制定默認的匿名slot,父組件內多于的內容片斷都將被拋棄。

渲染結果:

<div class="container">
 <div class="header">
 <h2>標題</h2>
 </div>
 <div class="main">
 <p>正文內容</p>
 <p>更多的正文內容</p>
 </div>
 <div class="footer">
 <div slot="footer">底部信息</div>
 </div>
</div>

總結

以上所述是小編給大家介紹的Vue.js 作用域、slot用法(單個slot、具名slot),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • Vue項目中在父組件中直接調用子組件的方法

    Vue項目中在父組件中直接調用子組件的方法

    這篇文章主要給大家介紹了Vue項目中如何在父組件中直接調用子組件的方法,文章通過代碼示例介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-11-11
  • vue?路由跳轉打開新窗口被瀏覽器攔截問題處理

    vue?路由跳轉打開新窗口被瀏覽器攔截問題處理

    這篇文章主要介紹了vue?路由跳轉打開新窗口被瀏覽器攔截問題處理,下面文章操作中所遇到相關問題解決的內容介紹詳細,需要的小伙伴可以參考一下
    2022-03-03
  • vue-quill-editor 自定義工具欄和自定義圖片上傳路徑操作

    vue-quill-editor 自定義工具欄和自定義圖片上傳路徑操作

    這篇文章主要介紹了vue-quill-editor 自定義工具欄和自定義圖片上傳路徑操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 解決echarts數(shù)據(jù)二次渲染不成功的問題

    解決echarts數(shù)據(jù)二次渲染不成功的問題

    這篇文章主要介紹了解決echarts數(shù)據(jù)二次渲染不成功的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-07-07
  • Vue實現(xiàn)上拉加載下一頁效果的示例代碼

    Vue實現(xiàn)上拉加載下一頁效果的示例代碼

    這篇文章主要為大家詳細介紹了如何利用Vue實現(xiàn)上拉加載下一頁效果,文中的示例代碼講解詳細,對我們學習Vue有一定幫助,需要的可以參考一下
    2022-08-08
  • vue?事件獲取當前組件的屬性方式

    vue?事件獲取當前組件的屬性方式

    這篇文章主要介紹了vue?事件獲取當前組件的屬性方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • VUE+SpringBoot實現(xiàn)分頁功能

    VUE+SpringBoot實現(xiàn)分頁功能

    這篇文章主要為大家詳細介紹了VUE+SpringBoot實現(xiàn)分頁功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 探討Vue.js的組件和模板

    探討Vue.js的組件和模板

    指令是Vue.js中一個重要的特性, 主要提供了一種機制將數(shù)據(jù)的變化映射為DOM行為。下面通過本文給大家分享Vue.js的組件和模板,需要的朋友參考下吧
    2017-10-10
  • Vue.js之VNode的使用

    Vue.js之VNode的使用

    這篇文章主要介紹了Vue.js之VNode的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • vue 組件高級用法實例詳解

    vue 組件高級用法實例詳解

    這篇文章主要介紹了vue 組件高級用法,需要的朋友可以參考下
    2018-04-04

最新評論