组件中 style 标签 lang 属性和 scoped 属性的介绍| 学习笔记

简介: 快速学习组件中 style 标签 lang 属性和 scoped 属性的介绍

开发者学堂课程前端自动化构建工具 Webpack组件中 style 标签 lang 属性和 scoped 属性的介绍】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/587/detail/8234


组件中 style 标签 lang 属性和 scoped 属性的介绍

基本内容

一、login.vue

二、Account.vue

 

一、login.vue

如果在登陆子组件写样式,写出来的样式只是写程序人员自己使用,副组件并不会使用到该样式;

<template>

<div>

<h3>这是Account的登陆子组件,使用vue.文件定义出来的-{ {msg}</h3>

问:这个组件能不能有自己的数据?

答:在网页中,每个组件都有对应的 method

</div>

</ template>

< script>

</ script>

<style >

div {

color: red

</style>

}

当一点击登陆,所以有组件都变红,这样显示的是全局样式;

image.png

首先检查根路由,程序上没有问题;“GoodList”没有问题;“Account”没有问题;点击“注册”没有问题;

提问:组件为什会变为红色?

解答:因为只有在登录的组件中写了红色,把所有 div 里面的颜色写成了红色;现在考虑只把登陆内部的颜色变为红色,但是外部 Account 也被变为了红色,也被套写,这是因为组件中的根容器,根元素决定的App也被套写,

那么,上述程序中的div是组件中私有的样式还是全局样式?根据上图可知,它是全局样式。

l 当加入scoped之后:

<template>

<div>

<h3>这是Account的登陆子组件,使用vue.文件定义出来的-{ {msg}</h3>

问:这个组件能不能有自己的数据?

答:在网页中,每个组件都有对应的 method

</div>

</ template>

< script>

</ script>

<style scoped >

div {

color: red

</style>

}

没有修改符元素;只有点击“登录”时,它才会变为红。

image.png

scoped 是将内部属性改变,而不改变外部属性;

 

二、Account.vue

<template>

<div>

<h3>这是Account 组件</h3>

<router-link to="/account/login">登陆</router-link>

<router-link to="/account/register">注册/router-link >

<router-view></router-view >

</div>

</ template>

<script>

</ script>

<style>

body {  //属于scss语法,但是不可以这样写,此时会发生报错。//

div {

font-style : italics;  

}

}

</style>     错误写法!请注意!

// 普通的style标签只支持普通的样式,如果想要启用scssless,需要为style元素设置lang 属性。//

<style lang=scssscoped>

body {

div {

font-style : italics;  

}

}

</style>

l  其他种类的 lang 属性

1、普通的:<style with css>

2、含有 scoped 的:<style with css scoped>

3、全局的:<style with less>

4、私有的:<style with less scoped>

只要写关于样式的程序,要是是关于全局的,一般都要加上“scoped”。

// 只要 style 标签,是在.vue 组件中定义的,那么推荐的都为 style 开启 scoped 属性。//

因为 style 是专门属于 Account 当前的组件,不应该让某个样式设置为全局的,只要让样式在组件内生效就可以了,这是推荐开启 scoped 属性的原因之一。


相关文章
|
NoSQL 数据可视化 关系型数据库
推荐几个好用的redis可视化工具
推荐几个好用的redis可视化工具
15928 1
|
Docker 容器
使用阿里云 docker 镜像加速
1.创建docker daemon.json 2.添加docker镜像加速地址 3.重启守护进程
1718 1
【echarts报错】line series not exists,should be same with series name or data name
【echarts报错】line series not exists,should be same with series name or data name
629 0
成功解决:Failed to load resource: net::ERR_FILE_NOT_FOUND
这篇文章提供了解决"Failed to load resource: net::ERR_FILE_NOT_FOUND"错误的步骤,通过修改配置文件中的资源路径设置为相对路径"./"来成功运行打包后的项目。
成功解决:Failed to load resource: net::ERR_FILE_NOT_FOUND
Idea在debug时打上断点没有用 Skipped breakpoint at ... because it happened inside debugger evaluation
Idea在debug时打上断点没有用 Skipped breakpoint at ... because it happened inside debugger evaluation
2622 0
|
11月前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
420 5
|
Java 数据库连接 网络安全
springboot使用Pivotal Greenplum JDBC如何进行配置
【5月更文挑战第23天】springboot使用Pivotal Greenplum JDBC如何进行配置
350 6
|
敏捷开发 持续交付 开发工具
阿里云云效产品使用问题之如何把单独的库移到组里面
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
机器学习/深度学习 数据采集 人工智能
数据工作中的自动化与AI融合实践
【8月更文第13天】随着大数据和人工智能(AI)技术的发展,数据处理和分析变得越来越重要。本文将探讨如何通过自动化工具和AI技术来优化数据处理流程,包括数据清洗、特征工程、模型训练以及结果可视化等步骤。我们将使用Python编程语言及其相关库(如Pandas、Scikit-learn和TensorFlow)作为实现手段。
820 0
|
存储 监控 测试技术
三大工作流引擎技术Activiti、Camunda、Flowable选型指南
三大工作流引擎技术Activiti、Camunda、Flowable选型指南

热门文章

最新文章