vue移动端项目顶部动态变化(插槽的应用)

    科技2023-10-23  102

    vue移动端项目顶部动态变化插槽的应用

    1效果图加前引2创建匿名插槽2使用匿名插槽4创建具名插槽5使用具名插槽

    1效果图加前引

    一般我们写移动端项目时会遇到这种需求动态顶部,当点击底部的关于页面,顶部的位置也要显示与之对应,今天为大家介绍一种简单的方法! 使用插槽分两种 1只需要改动一个值只需要用到匿名插槽 2组要改动多处最好用到具名插槽

    2创建匿名插槽

    创建一个头部组件Head.vue,暂与About同级目录,图片右侧为插槽部分,右侧使用插槽的位置

    2使用匿名插槽

    操作About页面 1导入

    import Head from "./Head";

    引用

    components: { Head, },

    使用

    <Head>关于</Head>

    <!-- About --> <template> <div class="about"> <!-- <Head>关于</Head> --> <Head> <div @click="fn" slot="fhs">&lt;返回</div> <div slot="fhz">关于</div> </Head> <ul> <li v-for="(v, i) of num" :key="i"> {{ i + 1 }}&emsp;&emsp;&emsp;<span>This is an about page</span> </li> </ul> </div> </template> <script> import Head from "./Head"; export default { //import引入的组件需要注入到对象中才能使用 components: { Head, }, data() { //这里存放数据 return { num: 50, }; }, //监听属性 类似于data概念 computed: {}, //监控data中的数据变化 watch: {}, //方法集合 methods: { fn() { this.$router.go(-1);//参数0刷新,1前进,-1后退 }, }, }; </script> <style scoped> span { font-size: 0.5rem; } </style>

    4创建具名插槽

    操作Head.vue附带样式

    <!-- head --> <template> <div> <div class="head"> <div class="heada"> <slot name="fhs"></slot> </div> <div class="headb"> <slot name="fhz"></slot> </div> <div class="headc"> <slot name="fhx"></slot> </div> </div> </div> </template> <script> export default { name: "Head", //import引入的组件需要注入到对象中才能使用 components: {}, data() { //这里存放数据 return {}; }, }; </script> <style > .head { height: 1.2rem; line-height: 1.2rem; width: 100%; background-color: #26a2ff; color: #fff; text-align: center; position: fixed; top: 0; display: flex; justify-content: space-between; } .heada{ flex: 1; text-align: left; font-size: 0.5rem; } .headb{ flex: 1; font-size: 0.5rem; } .headc{ flex: 1; font-size: 0.5rem; } </style>

    5使用具名插槽

    操作About页面 1导入

    import Head from "./Head";

    引用

    components: { Head, },

    使用

    <Head> <div @click="fn" slot="fhs">&lt;返回</div> <div slot="fhz">关于</div> </Head>
    Processed: 0.017, SQL: 8