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>

  • 列如:创建一个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>

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

v-for="(items,indexs) in item.data" v-if="items.show"
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值