行业知识
web学习笔记(五十九)
2026-11-15 14:47:14
来源:互联网转载
目录
1.style样式
1.1作用域 scoped
1.2 less和 sass
1.3 less和 sass两者的区别
2. 计算属性computed
3. 响应式基础reactive()
4. 什么是MVVM?
1.style样式
1.1作用域 scoped
scoped表示样式作用域,把内部的样式仅限于当前组件模板生效,其他的vue文件不生效,如果不加这个关键字默认是全局生效的。
.redu { position: absolute; top: -1vh; right: 0px;}.p3{ width: 100%; position: absolute; top:3vh; left: 0px;} 1.2 less和 sass
这两个都是css的辅助工具,使用这个辅助工具在style标签内部用嵌套的方式来编写样式。通过选择器的嵌套来表示标签之间的层级关系。在使用这个两个工具时都需要在终端使用npm i来下载对应的文件,需要注意的是:sass在下载时用的是npm i sass命令,但在style标签内部进行引用时使用的是 lang="scss",而less则是统一的。
count: {{ count }}
{{ arr }}
{{ lives }}
百度一下 123 $fontsize: 26px;.less { width: 100vw; height: 100px; background-color: red; p { //.less p{} 表示.less后代的所以p的样式 background-color: yellow; } > p { background-color: aqua; > a { //.less >p>a font-size: $fontsize; } } p { font-size: $fontsize; }}
1.3 less和 sass两者的区别
- sass的功能比less强大,更像是一个独立的编程语言,我们之前学过的前端框架Bootstrap 4 就是基于 Sass 开发的。
- Less是基于JavaScript,是在客户端进行处理的;Sass是基于Ruby,是在服务器端进行处理的。
- 在定义变量时Less和Sass中的唯一区别就是Less用@,Sass用$。
2. 计算属性computed
计算属性特点:
- 需要根据某一个或多个响应式数据的变化,计算得出一个新的结果(可以是样式对象,也可以是一个值),供组件模板使用;
- 计算属性必须返回一个结果;
- 计算属性会自动监测到函数内部响应式数据的变化,根据新的响应数据,重新计算结果。
- computed内部如果存在多个响应式数据,任何一个发生变化,计算属性仍然会重新计算。
显示 测试p .active { font-size: 30px; color: blue !important; } .test { width: 100vw; height: 200px; background-color: red; color: yellow; } .fixed { position: fixed; width: 100vw; height: 100vh; background-color: rgba(100, 100, 190, 0.5); left: 0; top: 0; } import { ref, computed } from "vue"; export default { setup() { const isshow = ref(false); const newStyle = computed(() => { if (isshow.value) { return { fontSize: "40px", color: "blue", textAlgin: "center" }; } else { return { fontSize: "16px", color: "yellow", textAlgin: "left" }; } }); return { isshow, newStyle }; } };3. 响应式基础reactive()
reactive:组合式API,只能声明引用类型数据。数组和对象,不太适用于请求,请求推荐使用ref,通过修改ref.value来修改内部的值。
Proxy 代理对象类型,通过它实现深度响应式
import { ref, reactive } from "vue";import http from "@/utlis/http";const count = ref(0);const setCount = () => { count.value++;};// reactive:组合式API,只能声明引用类型数据。数组和对象,不太适用于请求,请求推荐使用ref,通过修改ref.value来修改内部的值。const arr = reactive([1, 2, 3, 4, [100, 200]]); //元素增删改都具备响应式。console.log(arr); //Proxy 代理对象类型,通过它实现深度响应式// const arr = reactive([1, 2, 3, 4, [100, 200]]);const changeArr = () => { arr[0] = 100; // arr.push(100); arr[4][1] = 300;};// let lives = reactive([]);let lives = reactive({list:[]});const changeLives = () => { lives.list[0].roomName = "测试";};const { data: { list }} = await http("/hgapi/live/cate/newRecList?offset=0&cate2=wzry&limit=5");// console.log(list);lives.list = list;console.log(lives); //此时lives是普通数组,不是Proxy4. 什么是MVVM?
MVVM是model-view-viewModel的简写, 它是一种开发模式, 它实现了视图和数据逻辑之间的分离, model模型指的是后端传递的数据, view视图指的是所看到的页面, viewModel是连接视图view和模型model的桥梁, 从而实现模型model到视图view的转化 和 视图view到模型model的转化, 也就是我们所说的双向数据绑定, 使用MVVM模式实现的前端框架有 vue 和 react。
下一篇:贵州超频服务器哪里买好?