• vue 模板、组件


    vue目录结构

    在这里插入图片描述

    1. node_modules文件夹: 这个文件夹里面全部都是node的一些基础的依赖包,当我们拓展的安装一些别的插件时 也会装在这个文件夹里。
    2. public文件夹: phpstudy 的 www 目录 服务器的静态资源目录。
    3. src 文件夹:用来开发的文件夹。
    4. assets 文件夹:里面主要放置一些资源文件。比如js 、css 之类的文件。
    5. components 文件夹:她可以说是vue 的 灵魂了 , 组件文件全部都可以放到这里面。一个vue项目就是由一个个的组件拼装起来的。
    6. router 文件夹 及 子目录:这个文件夹里的是整个vue项目的路由,vue 是单页面应用的代表,这里面就是设置一个一个组件的地址的文件。
    7. app.vue 文件 :这个文件是整个项目的入口文件,相当于包裹整个页面的最外层的div。
    8. main.js 文件 :这个文件是项目的主js,全局的使用的各种变量、js、插件 都在这里引入 、定义。
    9. packpage.json :包管理文件。
    10. readme.md :项目使用说明书

    vue模板组件

    components文件夹下 .vue文件就是专门编写模块化功能(如分页、轮播、导航等功能分模块化,实现重复利用和解耦,也利于热更新处理)

    //分为三个部分
    <template>    
    //template  模板(组件) 
    //编写页面某个功能 html 表签 +vue 语法
    </template>
    
    //第二部分
    <script>
    //处理数据 、事件绑定、组件注册
    </script>
    
    //第三部分
    <style>
    //样式处理
    </style>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 列如:创建一个for.vue做个 菜单数据循环
    <template>
        <ul id="for">
            <li v-for="(item ,index) in items" >
                <p>{{process}}-{{index}}-{{ item.typemsg }} - {{item.data.length}}</p>  
            <ol v-for="(items,indexs) in item.data" v-if="items.show">
                <li>{{indexs}} - {{items.message}}</li>
             </ol>
            </li>
        </ul>
    
    </template>
    
    <script>
    export default {
        data() {
        //可以请求后台接口获取数据
            return {
                process:"for循环",
                items: [
                    {
                        typemsg:"蔬菜类",
                        data:[ 
                            { message: '白菜' ,show:false}, { message: '青椒' ,show:true},
                            { message: '南瓜' ,show:false}, { message: '丝瓜' ,show:true},
                            { message: '黄瓜' ,show:true}, { message: '山药' ,show:true},
                            { message: '蒜苗' ,show:true}, { message: '洋葱' ,show:true}
                        ]
                    },
                    {
                        typemsg:"水果类",
                        data:[
                            { message: '苹果' ,show:false}, { message: '凤梨' ,show:true},
                            { message: '西瓜' ,show:false}, { message: '荔枝' ,show:true},
                            { message: '枇杷' ,show:true}, { message: '桂圆' ,show:true},
                            { message: '香蕉' ,show:true}, { message: '柠檬' ,show:true}
                        ]
                    },
                    {
                        typemsg:"日常用品",
                        data:[
                            { message: '洗发露' ,show:false}, { message: '纸巾' ,show:true},
                            { message: '沐浴露' ,show:false}, { message: '杯子' ,show:true},
                            { message: '牙膏' ,show:true}, { message: '餐具' ,show:true},
                            { message: '毛巾' ,show:true}, { message: '保鲜膜' ,show:true}
                        ]
                    },
                    {
                        typemsg:"零食",
                        data:[
                            { message: '薯片' ,show:true}, { message: '可乐' ,show:true},
                            { message: '果醋' ,show:true},{ message: '奶酪' ,show:true}
                        ]
                    }
                ]
               
            }
        }
    }
    </script>
    <style>
        #for{
            color: red;
            font-size: 20px;
        }
    </style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65

    在app.vue引用 for.vue
    在这里插入图片描述
    效果
    在这里插入图片描述
    与传统的js 相比 vue 的优势直接操作页面 dom
    如果用js 实现 图上效果大约最少要写20行左右的 js 、也不利于二次改动,简洁度灵活度如不vue
    vue的实现只需要一行

    v-for="(items,indexs) in item.data" v-if="items.show"
    
    • 1
  • 相关阅读:
    驱动开发day8
    低代码热潮下的冷思考:为何我们不能盲目追随
    怎样让您的电商 API 快速且轻松地提取所有商品数据?
    Grpc快速实践
    WuThreat身份安全云-TVD每日漏洞情报-2023-10-08
    浮动面试题
    Apache JMeter压测安装使用
    基于ChatGPT的大型语言模型试用心得
    Redis数据库持久化
    ubantu数据库安装以及使用——mysql+redis
  • 原文地址:https://blog.csdn.net/qq_38567182/article/details/126665224