zoukankan      html  css  js  c++  java
  • 父组件子组件实现子组件闭合的功能

    父组件子组件实现闭合效果如下:这里点击不同的同学展示隐藏的div,同时没有被点击的同学隐藏div,

    这个效果代码如下:

    <!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">
    <title>Document</title>
    <style>
    .title {
    120px;
    border: 1px solid pink;
    line-height: 36px;
    text-align: center;
    }
    </style>
    </head>

    <body>
    <div id="app">
    <collaspe>
    <collaspe-item title="大学同学">大学同学1</collaspe-item>
    <collaspe-item title="高中同学">高中同学1</collaspe-item>
    <collaspe-item title="初中同学">初中同学1</collaspe-item>
    </collaspe>
    </div>
    </body>
    </html>
    <script src="./node_modules//vue//dist//vue.min.js"></script>
    <script>
    //$children-获取子组件的实例 $parent--获取父组件的实例
    Vue.component("collaspe", {
    methods: {
    handleChange(childId) {
    this.$children.forEach(element => {
    if (element._uid != childId) {
    element.show = false;
    }
    });
    }
    },
    template: `<div class = 'box'>
    <slot></slot>
    </div>`
    });
    Vue.component("collaspe-item", {
    props: ['title'],
    mounted() {
    console.log(this.$parent)
    },
    methods: {
    change() {
    this.$parent.handleChange(this._uid)// 每个组件有相应的_uid
    this.show = !this.show;
    }
    },
    data() {
    return {
    show: false
    }
    },
    template: `<div >
    <div class = 'title' @click='change'>{{title}}</div>
    <div v-show='show'>
    <slot></slot>
    </div>
    </div>`
    })

    let vm = new Vue({
    el: '#app',
    data: {
    },
    })


    </script>
  • 相关阅读:
    QTableWidget的使用和美工总结
    pyqt下QTableWidget使用方法小结(转)
    改变QTableWidget 行高(转)
    Qt中 文件对话框QFileDialog 的使用
    Qt:拖拽图片到QLabel上并显示(转)
    Qt获取组合键(转)
    Qt图片显示效率的比较(转)
    QComboBox用法小列(转)
    TinyXML:一个优秀的C++ XML解析器(转)
    JZOJ 3099. Vigenère密码 NOIP2012
  • 原文地址:https://www.cnblogs.com/zhx119/p/11099374.html
Copyright © 2011-2022 走看看