首页 > 其他分享 >Vue组件化开发(1)

Vue组件化开发(1)

时间:2024-12-04 12:59:36浏览次数:5  
标签:style Vue background less height 开发 template 组件

组件化

一个页面可以拆分为一个个组件,每个组件有自己独立的结构、样式、行为。

好处:

有下面两个,都是为了提升开发效率

1.便于维护:相比于小项目全部写在一起,这样组件化开发就容易维护,一旦几百行的代码异常,只需要找某个独立的组件代码去调整即可,所以项目越大,若是不做拆分维护起来难度就越大

2.利于复用

封装好的组件可以拆分出来,别的页面直接拿去用就可以,页面的风格保持一致,维护时会同步更新

组件分类:

普通组件,根组件

App.vue(单文件组件)的三个组成部分

template : 结构(有且只能一个根元素)

script : js逻辑

style : 样式(支持less,需要装包)

若需要让组件支持less,先去style标签,lang=less" 开启less功能,装依赖包:yarn add less-loader

代码深入:

App.vue里面只能有一个template ,vue2规范规定里面再有一个<div>根结构, 如果需要多个div , 就在外面再包一层div呗。

这里在template中写一个div,class为a1,字符:我是内容

<template >

        <div class="a1">   我是内容     </div>

</template >

然后去style 里面写样式:

<style>

        .a1{

         width:300px;       

         height:500px;              

         background-color:pink;       

        }

</style>

若是大div里面要再加一个小盒子, 就是:

<template >

        <div class="a1">  

                <div class="a2"></div>

        </div>

</template >

<style>

        .a1{

         width:300px;       

         height:500px;              

         background-color:pink;       

        }

        a1.a2{

         width:100px;       

         height:100px;              

         background-color:red;       

        }

</style>

这里再提供逻辑:

<script >

//export default意指  导出当前组件的配置项,里面可以提供data(较特殊)  methods computed  watch 生命周期八大钩子等

export default {

        methods:{

        

        }

}

</script >

这里演示点击蓝色div 弹出hello

<template >

        <div class="a1">  

                <div class="a2" @click= "fn"></div>

        </div>

</template >

<script>

   export default {

        methods:{

               fn(){

                        alert('hello!')

                }

        }

   }

</script>

<style>

        .a1{

         width:300px;       

         height:500px;              

         background-color:pink;       

        }

        a1.a2{

         width:100px;       

         height:100px;              

         background-color:blue;       

        }

</style>

并且created也是支持的

<template >

        <div class="a1">  

                <div class="a2" @click= "fn"></div>

        </div>

</template >

<script>

   export default {
        created(){
            console.log('这是created钩子')
        }

        methods:{

               fn(){

                        alert('hello!')

                }

        }

   }

</script>

<style>

        .a1{

         width:300px;       

         height:500px;              

         background-color:pink;       

        }

        .a2{

         width:100px;       

         height:100px;              

         background-color:blue;       

        }

</style>

重新运行就正常运行了

总结:

(1)组件化:
页面可拆分成一个个组件,每个组件有着独立的结构、样式、行为① 好处:便于维护,利于复用,提升开发效率
② 组件分类:普通组件、根组件。
(2)根组件:
整个应用最上层的组件,包裹所有普通小组件,
一个根组件App.vue,包含的三个部分:
① template 结构(只能有一个根节点)
② style 样式(可以支持less,需要装包 less 和 less-loader)
③ script 行为

标签:style,Vue,background,less,height,开发,template,组件
From: https://blog.csdn.net/SSHLY3/article/details/144166380

相关文章

  • CAD 二次开发入门与实践:以 C# 为例
    摘要: 本文详细介绍了如何使用C#进行CAD软件的二次开发。首先阐述了CAD二次开发的概念、意义与应用场景,接着深入探讨了开发环境的搭建,包括CAD相关API的引用与C#开发工具的配置。随后重点讲解了基于C#的CAD二次开发的核心技术,如基本图形绘制、图层管理、块操作......
  • Vue项目访问路径加统一前缀(若依)
     转自:https://whwtree.com/archives/45.html如果多个项目要发布至同一个域名下,或Vue项目要加项目名访问时,则可以通过域名后加统一前缀来区分及路由至指定的服务,例如同一域名下:站点A:https://www.abc.com站点B:https://www.abc.com/bbb站点B-接口API:https://www.abc.com/bbb/apiVu......
  • AI开发平台ModelArts/ 将Notebook的Conda环境迁移到SFS磁盘
    前提条件创建一个Notebook,“资源类型”选择“专属资源池”,“存储配置”选择“SFS弹性文件服务器”,打开terminal。创建新的虚拟环境并保存到SFS目录创建新的conda虚拟环境。#shellcondacreate--prefix/home/ma-user/work/envs/user_conda/sfs-new-envpython=3.7.10-......
  • RK3566 RK3568开发板Android11屏蔽开机启动提示,优化启动时间
    在Android11系统下开机启动会出现下图“平板电脑正在启动”字样,屏蔽可优化开机启动时间,本文教大家如何通过修改代码屏蔽开机提示。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发......
  • 全面UI组件库Telerik 2024 Q4全新发布——官方宣布支持.NET 9
    TelerikDevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。TelerikDevCraft提供最完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UIforASP.NETMVC、KendoUI、UIforASP.NETAJAX、UIforWPF......
  • 全面UI组件库Telerik 2024 Q4全新发布——官方宣布支持.NET 9
    TelerikDevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库,加快开发速度。TelerikDevCraft提供最完整的工具箱,用于构建现代和面向未来的业务应用程序,目前提供UIforASP.NETMVC、KendoUI、UIforASP.NETAJAX、UIforW......
  • DevExtreme JS & ASP.NET Core v24.2新功能预览 - 全新的聊天组件
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程......
  • DevExtreme JS & ASP.NET Core v24.2新功能预览 - 全新的聊天组件
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NETCore或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中......
  • VUE学习
    一、VUE出现的原因是:跨平台应用它的核心库专注于视图层,使得开发者能够便捷地构建单页面应用。Vue通过简洁的API实现了响应式的数据绑定和组合的视图组件。Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。Vue具有轻量级和易上手的特点,因此在国内得到了广......
  • vue2/3 中使用 @vue-office/docx 在网页中预览(docx、excel、pdf)文件
    1.安装依赖:#docx文档预览组件npminstall@vue-office/docxvue-demi@0.14.6#excel文档预览组件npminstall@vue-office/excelvue-demi@0.14.6#pdf文档预览组件npminstall@vue-office/pdfvue-demi@0.14.6vue2.6版本或以下还需要额外安装@vue/composition-apinp......