vue 修改引入组件的样式_vue子组件的子组件布局

vue 修改引入组件的样式_vue子组件的子组件布局意义vue被广大前端推崇很重要一点就是组件封装,但是在组件封装的时候,组件可能在各处都要用到,但是在各处的样式可能不太一样,例如:按钮组件,这时怎么办,难道不同样式但是结构相同的组件进行多次封装么?很明显是很不合算的。用代码说话父组件:<template><el-containerclass=”layout_container”><el-headerheight=”auto”><header-top></header-top&

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

意义

vue被广大前端推崇很重要一点就是组件封装,但是在组件封装的时候,组件可能在各处都要用到,但是在各处的样式可能不太一样,例如:按钮组件,这时怎么办,难道不同样式但是结构相同的组件进行多次封装么?很明显是很不合算的。

用代码说话

父组件:

<template>
  <el-container class="layout_container">
    <el-header height="auto"><header-top></header-top></el-header>
    <el-container>
      <el-aside width="auto"><aside-left></aside-left></el-aside>
      <el-main>
        <zonghe-nengli></zonghe-nengli>
       /重点看此处:
        <my-button
          :title="biaoti"
          :color="activeColor"
          :size="fontSize"
        ></my-button>
        ///
        <skill-hot></skill-hot>
        <learning-path></learning-path>
        <bar-chart></bar-chart>
        <radar></radar>
        <tupu-fenxi></tupu-fenxi>
      </el-main>
    </el-container>
  </el-container>
</template>
<script>
import HeaderTop from "../../components/layout/header";

import MyButton from "../../components/common/button";

import AsideLeft from "../../components/layout/aside";
import ZongheNengli from "../../components/common/zonghenengli";
import Radar from "../../components/common/radar";
import TupuFenxi from "../../components/common/tupufenxi";
import SkillHot from "../../components/putong/skillhot";
import LearningPath from "../../components/putong/learningpath";
import BarChart from "../../components/common/barchart";
export default { 
   
  components: { 
   
    HeaderTop,
    AsideLeft,
    ZongheNengli,
    Radar,
    TupuFenxi,
    SkillHot,
    LearningPath,
    BarChart,
    MyButton,
  },
  data() { 
   
    return { 
   
    ///
      biaoti: 20,
      activeColor: "black",
      fontSize: 30,
   ///
    };
  },
  created() { 
   },
  methods: { 
   },
  computed: { 
   },
};
</script>
<style scoped>
.layout_container { 
   
  height: 100%;
}
.el-aside { 
   
  margin-top: 21px;
  background: #ffffff;
  box-shadow: 0px 1px 13px 0px rgba(0, 0, 0, 0.35);
}
.el-main { 
   
  margin-top: 40px;
  margin-left: 37px;
  background-color: burlywood;
}
</style>

子组件(重点看看):

<template>
  <div class="button_container" :style="{color:activeColor,fontSize:fontSize + 'px'}">
    { 
   { 
    title }}
  </div>
</template>
<script>
export default { 
   
  /接受传过来的参数
  props: ["title","color","size"],
  data() { 
   
    return { 
   
      activeColor: this.color,
      fontSize: this.size,
    };
  },
  created() { 
   
    
  },
  methods: { 
   },
  computed: { 
   },
};
</script>
<style scoped>
.button_container { 
   
  width: 207px;
  height: 60px;
  margin: 35px;
  line-height: 60px;
  text-align: center;
  background: #2e5afb;
  box-shadow: 3px 8px 17px 1px rgba(46, 90, 251, 0.6);
  border-radius: 6px;
}
</style>

效果图:
在这里插入图片描述

想要封装可以动态改变样式的组件,必须得熟练掌握vue组件的class和style绑定,这样才能游刃有余

2、除了这中传值来改变组件样式,当然还是通过行内样式,或者给组件添加一个class类来改变组件样式
当在一个自定义组件上使用 class property 时,这些 class 将被添加到该组件的根元素上面。这个元素上已经存在的 class 不会被覆盖。

//1、行内样式
<tupu-fenxi style="margin: 10px 0 0 3px"></tupu-fenxi>


//1、添加类名
Vue.component('my-component', { 
   
  template: '<p class="foo bar">Hi</p>'
})
//然后在使用它的时候添加一些 class:
<my-component class="baz boo"></my-component>
//HTML 将被渲染为:
<p class="foo bar baz boo">Hi</p>


//3、对于带数据绑定 class 也同样适用:
<my-component v-bind:class="{ active: isActive }"></my-component>
//当 isActive 为 truthy 时,HTML 将被渲染成为:
<p class="foo bar active">Hi</p>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193248.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Node之父发布新项目deno:下一代Node;百度推出没有广告的简单搜索;甲骨文计划砍掉Java序列化功能;丨Q新闻…

    Node之父发布新项目deno:下一代Node;百度推出没有广告的简单搜索;甲骨文计划砍掉Java序列化功能;丨Q新闻…

    2021年6月6日
    183
  • 学习Oracle这一篇就够了

    学习Oracle这一篇就够了配套资料,免费下载链接:https://pan.baidu.com/s/1yjJY3IstA8aMQBPYhWNlCw提取码:qmpd复制这段内容后打开百度网盘手机App,操作更方便哦第一章数据库概述1.1、数据库的好处将数据持久化到本地提供结构化查询功能1.2、数据库的常见概念DB:数据库,存储数据的仓库DBMS:数据库管理系统,又称为数据库软件或者数据库产品,用于创建和管理数据库,常见的有MySQL、Oracle、SQLServerDBS:数据库系统,数据库系统是一个通称

    2022年10月8日
    3
  • 汽车电子设计之SBC芯片简单认识[通俗易懂]

    汽车电子设计之SBC芯片简单认识[通俗易懂]参考英飞凌SBC官网资料:https://www.infineon.com/cms/cn/product/automotive-system-ic/system-basis-chips-sbc/SBC芯片在汽车电子领域可谓占一席之地了。那么什么是SBC?怎么用?用在哪里?主要特性?1.什么是SBC?SBC的系统框图系统基础芯片(SBC,SystemBasisChip),从广义上来说,是一种包含电源、通信、监控诊断、安全监控等特性以及GPIO的独立芯片。随着汽车电子模块的日益小型化,对低功耗和

    2022年9月12日
    2
  • Flicker-detect Sensor_sensorless sensing

    Flicker-detect Sensor_sensorless sensingSensor在日光灯作为光源下获取图像数据时会产生flicker,其根本原因是照在不同pixel上光能量不同产生的,所接受的光能量的不同也就是图像的亮度的不同。电源的频率有两种标准:50Hz(大陆)和60Hz(台湾、日本)的正弦波形,当然能量是没有方向性的,因此对应的能量是一个频率为100Hz和120Hz的波形,如下图1所示:图1、60Hz电源频率及能量波形      由于能量在时间…

    2022年10月13日
    2
  • 数据绑定以及Container.DataItem几种方式与使用方法分析[通俗易懂]

    数据绑定以及Container.DataItem几种方式与使用方法分析[通俗易懂]灵活的运用数据绑定操作绑定到简单属性:绑定到集合:'runat="server">绑定到表达式:绑定到方法返回值:绑定到Hashtable:绑定到Arr

    2022年7月2日
    26
  • 移动app开发流程,app开发步骤

    移动app开发流程,app开发步骤个人github:https://github.com/qiilee 欢迎follow移动app开发流程,app开发步骤app是手机软件的简称。手机主流的有ios、andriod,windows平台。市场上程序做得比较多的也是前两款的平台。随着移动互联网的普及,移动终端功能的日益完善,很多企业看重移动互联网的重要,开始在这个领域完善自己的品牌,开展营销活动。一款好的app需要哪些…

    2022年6月9日
    46

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号