首页 > 其他分享 >vuecli作用域插槽

vuecli作用域插槽

时间:2022-11-15 10:34:07浏览次数:40  
标签:vuecli Category 作用域 插槽 -- nanoid width import 100%

<template>
  <div id="app" class="container">
    
    <Category title="美食" >
      <template scope="{games}">
        <ul>
            <li v-for="(g, index) in games" :key="index">{{g}}</li>
        </ul>
      </template>
    </Category> 

    <Category title="美食" >
      <template slot-scope="{games}">
        <ol>
            <li v-for="(g, index) in games" :key="index">{{g}}</li>
        </ol>
      </template>
    </Category> 

    <Category title="美食" >
      
      <template slot-scope="xiaobai">
        
        <h4 v-for="(g, index) in xiaobai.games" :key="index">{{g}}</h4>
        
      </template>
    </Category> 
    <!-- <Category title="美食" :listData='foods'>
      <img src="https://s3.ax1x.com/2021/01/16/srJ1q0.jpg" alt="">
    </Category> -->
    <!-- <Category title="游戏" :listData='games'>
       <ul>
          <li v-for="(g, index) in games" :key="index">{{g}}</li>
       </ul>
    </Category>
    <Category title="电影" :listData='films'>
      <video controls src="http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4"></video>
    </Category> -->
  </div>
</template>

<script>
// import {nanoid} from 'nanoid'
  //引入school 组件
  import Category from './components/Category.vue'

  export default {
    name: 'app',
    components: {
      Category
    },
    data() {
      return {
        // foods:['豆腐','白菜','粉条','方便面'],
        // games:['wow','lol','dota','gta5'],
        // films:['教父','醉拳','叶问','霍元甲']
     
      }
    },
  }
</script>

<style scoped>
  .container{
    display: flex;
    justify-content: space-around;
  }

  video{
    width: 100%
  }
  img{
      width: 100%
  }
</style>

 

<template>
  <div id="app" class="container">
    
    <Category title="美食" :listData='foods'>
      <template scope="{games}">
        <ul>
            <li v-for="(g, index) in games" :key="index">{{g}}</li>
        </ul>
      </template>
    </Category> 

    <Category title="美食" :listData='foods'>
      <template slot-scope="{games}">
        <ol>
            <li v-for="(g, index) in games" :key="index">{{g}}</li>
        </ol>
      </template>
    </Category> 

    <Category title="美食" :listData='foods'>
      <template scope="{games}">
        
            <h4 v-for="(g, index) in games" :key="index">{{g}}</h4>
        
      </template>
    </Category> 
    <!-- <Category title="美食" :listData='foods'>
      <img src="https://s3.ax1x.com/2021/01/16/srJ1q0.jpg" alt="">
    </Category> -->
    <!-- <Category title="游戏" :listData='games'>
       <ul>
          <li v-for="(g, index) in games" :key="index">{{g}}</li>
       </ul>
    </Category>
    <Category title="电影" :listData='films'>
      <video controls src="http://vfx.mtime.cn/Video/2019/02/04/mp4/190204084208765161.mp4"></video>
    </Category> -->
  </div>
</template>

<script>
// import {nanoid} from 'nanoid'
  //引入school 组件
  import Category from './components/Category.vue'

  export default {
    name: 'app',
    components: {
      Category
    },
    data() {
      return {
        // foods:['豆腐','白菜','粉条','方便面'],
        // games:['wow','lol','dota','gta5'],
        // films:['教父','醉拳','叶问','霍元甲']
     
      }
    },
  }
</script>

<style scoped>
  .container{
    display: flex;
    justify-content: space-around;
  }

  video{
    width: 100%
  }
  img{
      width: 100%
  }
</style>
<template>
  <div class="category">
    <h2 > {{title}}分类</h2>
    <slot :games="games">我是一个默认插槽,没有结构我会出现</slot>
    <!-- <ul>
      <li v-for="(item, index) in listData" :key="index">{{item}}</li>
    </ul> -->
    
  </div>
</template>

<script>
import {nanoid} from 'nanoid'

export default {
    name:"Category",
    data() {
      return {
        games:['wow','lol','dota','gta5'],
      }
    },
    props:[
      "listData",
      "title"
    ]
    
}
</script>

<style scoped>
    .category{
      background-color: aqua;
      width: 200px;
      height: 300px;
    }
    h2{
      text-align: center;
      background-color: orange;
    }
</style>

 

标签:vuecli,Category,作用域,插槽,--,nanoid,width,import,100%
From: https://www.cnblogs.com/xiaobaizitaibai/p/16891547.html

相关文章

  • js作用域、作用域链和它的一些优化
    前言作用域和作用域链是所有JavaScript开发人员每天都要接触和应用的内容。不管是面试中的作用域链的面试考察,还是日常代码研发中变量与作用域链的构建,它的身影几乎无处不......
  • vuecli动画
    <template><divclass="school"><button@click="isShow=!isShow">显示/隐藏</button><transition:appear="true"><h2v-show="isShow">你好......
  • slot插槽
    啥是插槽啊?一句话:让父组件可以向子组件的指定位置插入html结构,也是一种组件间的通信方式.默认插槽挖一个坑,等着组件的使用者进行填充<template><div><h3......
  • Day2-3 变量,常量,作用域
    变量java是强类型语言,每个变量都必须声明类型java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 typevarName[=value][{,varName[=value]}]; //......
  • vuecli之dodo底部统计功能
    footer<template><divclass="todo-footer"><label><inputtype="checkbox"/></label><span>......
  • vuecli练习之添加一个todo操作
    涉及到三个组件 header<template><divclass="todo-header"><inputtype="text"placeholder="请输入你的任务名称,按回车键确认"@keyup.enter="add......
  • JS知识点梳理之作用域、作用域链、柯里化、闭包
    一、作用域与作用域链作用域是指js变量使用时所存在的一个区域,分为全局作用域(window)和局部作用域(function、setTimeout...等都会产生局部作用域)。当局部作用域变量名与......
  • 细说js变量、作用域和垃圾回收
    基本类型和引用类型在JavaScript中,数据类型可分为基本类型和引用类型,基本类型有六种:Null,Undefined,String,Boolean,Number,Symbol;而引用类型就是传说中的Object了。......
  • vuecli之todo练习1静态资源html
    首先建立静态资源htmlApp。vue<template><divid="app"><divclass="todo-container"><divclass="todo-wrap"><MyHeader>......
  • Day05.1:变量及其作用域
    变量变量:可以变化的量变量代表一块空间,里面放什么东西是不确定的;一个柜子里面有很多层,有一层是放鞋子的,鞋子类型有运动鞋、跑步鞋、靴子等;拿着定价120元的一双运动鞋......