美文网首页
Vue 插槽 新语法

Vue 插槽 新语法

作者: wdapp | 来源:发表于2020-02-08 00:51 被阅读0次
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Vue 插槽 新语法</title>
  <style>
  * {
    margin: 0;
    padding: 0;
  }

  .header {
    border: 1px red solid;
    margin: 10px;
  }

  .main {
    border: 1px green solid;
    margin: 10px;
  }

  .footer {
    border: 1px orange solid;
    margin: 10px;
  }
  </style>
  <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
  <base-layer :key="key">
    <template v-slot:[key]>
      <p>动态插槽名</p>
    </template>
    <template v-slot:default>
      <p>默认插槽 1</p>
    </template>
    <template v-slot:main>
      <div>具名插槽</div>
    </template>
    <template v-slot:list="options">
      <li v-for="val in options.list">
        {{val}}
      </li>
    </template>
    <template #footer="{user}">
      具名插槽缩写 {{user}}
    </template>
  </base-layer>
  <default-slot v-slot="{tag: name='hello'}">
    <p>独占默认插槽的缩写法 {{name}}</p>
    <p>v-slot支持解构和任何支持函数参数的语法</p>
  </default-slot>
</div>
<script>
/**
 * 这里主要介绍了 Vue 2.6.0+ 插槽的新语法
 */
Vue.component("BaseLayer", {
  pros: {
    key: {
      type: String,
      default: ""
    }
  },
  data() {
    return {
      list: [1, 2, 3, 4],
      firstName: "科比",
      lastName: "布莱恩特",
      user: "GM"
    };
  },
  template:
    `<div>
  <div class="header">
    header
    <slot>
      后背内容
    </slot>
  </div>
  <div class="main">
    main
    <slot name="main"></slot>
    <ul>
      <slot name="list" :list="list">
      作用域插槽
      </slot>
    </ul>
    <slot name="center"></slot>
  </div>
  <div class="footer">
    footer
    <slot name="footer" :user="user"></slot>
  </div>
</div>`
});
Vue.component("DefaultSlot", {
  data() {
    return {
      tag: "DefaultSlot"
    };
  },
  template:
    `<div>
      <slot :tag="tag"></slot>
    </div>`,

});
var app = new Vue({
  el: "#app",
  data: {
    message: "插槽作用域",
    key: "center"
  },
  methods: {}
});

</script>
</body>
</html>

相关文章

  • 10个vue技巧

    slots 新语法向 3.0 看齐 ❝使用带有“#”的新命名插槽缩写语法,在Vue 2.6.0+中可用?❞ [图片...

  • vue v-slot 指令

    在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slo...

  • v-slot 指令

    在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slo...

  • VUE v-slot 指令

    在 2.6.0 中,vue为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。目前 slo...

  • ant-design-vue 在 vue3中如何使用Dropdo

    注意:在vue 2.6.0 中,具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了...

  • vue插槽-2.6.0前后版本使用对比

    vue 2.6.0 中,为具名插槽和作用域插槽引入了一个新的统一的语法 (即 v-slot 指令)。它取代了 sl...

  • vue 插槽

    插槽语法是Vue实现的内容分发API,用于复合组件开发。 匿名插槽 具名插槽 作用域插槽 将内容分发到子组件指定位置

  • Vue插槽

    插槽 插槽语法是Vue实现的内容分发API,用于复合组件开发。该技术在通用组件库开发中有大量应用。 匿名插槽 子组...

  • vue 组件插槽

    一、vue插槽有什么用 插槽语法是vue中实现内容分发的api,用于复合组件开发。该技术在通用组件库开发中有大量应...

  • Vue技巧点

    更漂亮的插槽语法 随着Vue 2.6的推出,已经引入了插槽的简写方式,可用于事件(例如,@click 表示 v-o...

网友评论

      本文标题:Vue 插槽 新语法

      本文链接:https://www.haomeiwen.com/subject/ypebxhtx.html