vue2面试题——API

1. $set

this.$set(目标对象target,改的位置,最终数据)

/* 数据更新了而视图没有更新的情况 */
<template><div>{{ arr }}<button @click='btn'>按钮</button></div>
</template>
<script>
export default {name: 'HomeView',data () {return {arr:['a','b','c']}},methods:{btn(){// this.arr[1] = 'xxxx'; 这样写是不对的,数据会更新但视图并不会更新this.$set(this.arr, '1', '更新成这个字符串'); // 可以利用$set来使数据和视图都更新}}
}
</script>

2. $nextTick

$nextTick返回的参数(函数)是异步的

/* 如果想要在beforeCreat或者说created生命周期中想要获取dom,就可以用到$nextTick*/
export default {name: 'HomeView',created() {this.$nextTick(()=>{console.log( this.$el );})}
}

3. $refs

用来获取dom的

4. $el

用来获取当前组件的根节点的

5. $data

用来获取当前组件的data数据的

6. $children

获取当前组件的所有子组件

7. $parent

找到当前组件的父组件,如果找不到返回自身

8. $root

找到根组件

9. data定义数据

数据定义在data的return内和return外是不一样的

<template><div>{{ str }} {{ num }}</div><button @click='btn'>按钮</button>
</template>
<script>
export default {data() {this.num = 2222; //写在data的return外面return {str: 1111 // 写在data的return里面}},methods: {btn(){this.str = 'xxxx' // return里面的数据,是可以被修改的// this.num = 'yyyy' 写在return外面的数据 单纯的是不可以被修改的 因为没有被get/set}}
}
</script>

10. computed计算属性

<template><div>{{ str }} {{ changeStr }}</div><button @click='btn'>按钮</button>
</template>
<script>
export default{data(){return {str: 'abc'}}.computed:{changeStr(){return this.str.slice(-1)}}
}
</script>

computed计算属性的结果值可以修改吗?

可以的,但是需要通过get/set写法

<template><div>{{ str }} {{ changeStr }}</div><button @click='btn'>按钮</button>
</template>
<script>
export default{data(){return {str: 'abc'}},computed:{changeStr:{get(){return this.str.slice(-2)},set( val ){this.str = val;}}},methods: {btn(){this.changeStr = 'zzzzz';}}
}
</script>

当前组件v-model绑定的值是computed计算而来的,可以修改吗

可以的,但是需要通过get/set写法

<template><div>{{ str }} {{ changeStr }}</div><input type="" name="" v-model='changeStr' />
</template>
<script>
export default{data(){return {str: 'abc'}},computed:{changeStr:{get(){return this.str.slice(-2)},set( val ){this.str = val;}}}
}
</script>

11. watch

数据发生变化的时候执行

<template><div>{{ str }}</div><button @click='btn'>按钮</button>
</template><script>
export default {data() {return {str: '123',}},methods:{btn(){this.str = 'xxxx'}},watch:{str(newVal, oldVal){console.log(newVal,oldVal);}}
}
</script>

让watch初始化的时候就执行

<template><div>{{ str }}</div><button @click='btn'>按钮</button>
</template><script>
export default {data() {return {str: '123',}},methods:{btn(){this.str = 'xxxx'}},watch:{str:{handler(newVal,oldVal){console.log(newVal,oldVal)}},immediate: true}
}
</script>

深度监听

<template><div>{{ str }}</div><button @click='btn'>按钮</button>
</template><script>
export default {data() {return {str: '123',obj:{a: '1'}}},methods:{btn(){this.str = 'xxxx'this.obj.a = '2'}},watch:{obj:{handler(newVal,oldVal){console.log(newVal,oldVal)}},immediate: true,deep: true}
}
</script>

12. methods和computed区别

methods里面写的是方法,computed是计算属性

computed是有缓存机制的,methods是没有缓存机制的(调用几次执行几次)

<template><div>{{ price }}{{ total }}{{ total }}{{ total }}</div>
</template><script>
export default {data(){return {number: 1,price: 29}},computed:{total(){console.log('computed---') // 只会打印一次return this.number*this.price}}
}
</script>
<template><div>{{ price }}{{ total() }}{{ total() }}{{ total() }}</div>
</template><script>
export default {data(){return {number: 1,price: 29}},methods:{total(){console.log('methods----') // 会打印3次return this.price*this.number}}
}
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/35792.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

海康威视摄像头修复

一、适用场景 1、室外安装的摄像头&#xff0c;长时间日晒雨淋后&#xff0c;可能因风向导致雨水进入水晶头&#xff0c;进而摄像头无法识别&#xff1b; 2、在经常施工的场地&#xff0c;可能由于车辆的进出&#xff0c;或施工设备的运行导致摄像头的网线水晶头断裂而无法使用…

浔川社团正式启用 代码付费制度——浔川总社部

浔川社团正式启用 代码付费制度。 规则&#xff1a; 浔川社团源代码收费标准表&#xff08;1&#xff09; 1-5行代码0.2元/行1-10行代码0.3元/行1-20行代码0.5元/行 浔川社团源代码收费标准表&#xff08;2&#xff09; 1-30行代码0.6元/行1-40行代码0.8元/行1-50行代码0.09元…

【PythonWeb开发】Flask中间件钩子函数实现封IP

在 Flask 框架中&#xff0c; 提供了几种类型的钩子&#xff08;类似于Django的中间件&#xff09;&#xff0c;它们是在请求的不同阶段自动调用的函数。这些钩子让你能够对请求和响应的处理流程进行扩展&#xff0c;而无需修改核心代码。 Flask钩子的四种类型 before_first_r…

IT入门知识第八部分《云计算》(8/10)

目录 云计算&#xff1a;现代技术的新篇章 1. 云计算基础 1.1 云计算的起源和发展 云计算的早期概念 云计算的发展历程 1.2 云计算的核心特点 按需自助服务 广泛的网络访问 资源池化 快速弹性 按使用量付费 1.3 云计算的优势和挑战 成本效益 灵活性和可扩展性 维…

[leetcode]intersection-of-two-arrays-ii 两个数组的交集 II

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {sort(nums1.begin(), nums1.end());sort(nums2.begin(), nums2.end());int length1 nums1.size(), length2 …

动态规划——123. 买卖股票的最佳时机 III

目录 1、题目链接 2、题目分析 1.状态表示 2.状态转移方程 3.初始化 4.填表 5.返回值 3、代码解析 1、题目链接 123. 买卖股票的最佳时机 III 2、题目分析 1.状态表示 由题目可知&#xff0c;我们分为两种状态&#xff0c;买入和卖出&#xff0c;又因为只能完成两次交易…

windows下如何配置vs code的编译环境

在 Windows 上配置 VS Code 的编译环境涉及安装编译器、配置 VS Code 以及编写和运行代码。以下是具体的步骤&#xff1a; 步骤 1&#xff1a;安装必要的软件 安装 Visual Studio Code&#xff1a; 访问 VS Code 的官方网站并下载安装包。按照安装向导进行安装。 安装 C/C 编译…

盲源信道分离—FastICA算法性能仿真

本案例中使用Matlab软件对FastICA算法的声音分离性能进行了仿真&#xff0c;分别对简单波形的混合信号、不同类型声音的混合信号、同一类型的混合信号这三种情况进行仿真&#xff0c;主要从分离信号的波形形状、串音误差两方面对分离性能进行衡量&#xff0c;仿真结果显示快速I…

Gradle学习-3 Gradle构建的生命周期

Gradle常用文件目录 Gradle 构建的生命周期&#xff0c;有3个阶段: 初始化阶段配置阶段执行阶段 1、初始化阶段 Gradle 支持构建单个工程个多个子工程&#xff0c;初始化阶段主要负责收集所有参与本次构建的子工程&#xff0c;创建一个项目的层次结构&#xff0c;并未每个…

SpringBoot优点达项目实战:获取系统配置接口(三)

SpringBoot优点达项目实战&#xff1a;获取系统配置接口&#xff08;二&#xff09; 文章目录 SpringBoot优点达项目实战&#xff1a;获取系统配置接口&#xff08;二&#xff09;1、查看接口2、查看数据库3、代码实现1、创建实体类SysConfig2、创建返回数据的vo3、创建control…

【INTEL(ALTERA)】Eclipse Nios II SBT 无法从模板创建新应用程序和 BSP

目录 说明 解决方法 说明 您应该能够创建新的应用程序和 BSP 模板包含以下步骤&#xff1a; 选择 Nios II应用程序和 BSP 来自模板。选择您的.sopcinfo 文件并选择模板。从您的工作区单击 选择现有的 BSP 项目。单击 创建。选择所需的 BSP 选项。单击 完成。 但是&#xf…

API 安全策略和基础指南

API 是当今数字创新计划的核心&#xff0c;已成为应用程序的头号攻击载体。了解什么是 API 安全、为什么它如此重要&#xff0c;以及如何保护您的 API 免受现代威胁至关重要。 什么是 API 安全&#xff1f; 应用程序编程接口&#xff08;API&#xff09;是现代应用程序的基石…

PostgreSQL教程:开启您的数据库之旅

PostgreSQL教程&#xff1a;开启您的数据库之旅 PostgreSQL是一种开源的对象关系型数据库管理系统&#xff08;ORDBMS&#xff09;&#xff0c;它以其强大的功能、稳定性和高度的可扩展性而闻名。作为一个功能丰富的数据库系统&#xff0c;PostgreSQL支持复杂的查询、强大的事…

Python 面试题解析

Python 面试题解析 Python 作为一种广泛使用的编程语言&#xff0c;其面试题目通常覆盖了语言基础、数据结构、算法、设计模式、Web 开发、测试、数据库、系统设计等多个方面。以下是一些常见的 Python 面试题及其解析&#xff0c;使用 Markdown 格式编写。 1. Python 基础 …

Linux-笔记 OverlayFS文件系统小应用

前言 通过另一章节 OverlayFS文件系统入门 中已经大致了解了原理&#xff0c;这里来实现一个小应用。

大模型性能优化KV Cache

原理 KV Cache的本质就是避免重复计算&#xff0c;把需要重复计算的结果进行缓存&#xff0c;生成式模型的新的token的产生需要用到之前的所有token的 K , V K,V K,V&#xff0c;在计算注意力的时候是当前的 Q Q Q和所有的 K , V K,V K,V来进行计算&#xff0c;所以是缓存 K ,…

打破数据分析壁垒:SPSS复习必备(九)

有序定性资料统计推断 1.分类 单向有序行列表 双向有序属性相同行列表 双向有序属性不同行列表 2.单向有序行列表 秩和检验 ① 两组单向有序分类资料 ②多组单向有序定性资料 步骤&#xff1a; 1.建立检验假设和确定检验水准 2.编秩 3.求秩和 4.确定检验统计量 5…

按位与、或、异或操作符

目录 & --- 按位与操作符 按位与操作符运用规则 按位与操作符相关代码 按位与操作符相关代码验证 | --- 按位或操作符 按位或操作符运用规则 按位或操作符相关代码 按位或操作符相关代码验证 ^ --- 按位异或操作符 按位异或操作符运用规则 按位异或操作符相关代…

分页组件 vue/uniapp

失效如上图 1.父组件调用 <onion-pagination :page.sync="todusGameQuery.pageSize" @update:page="changeTodusLoadMore":pageSize="todusGameQuery.pageNum" :total="todusGameTotal"></onion-pagination> 2.组件封装…

海纳斯 hinas 的hi3798mv100 华为悦盒 6108v9 安装wifi模块

hi3798mv100安装wifi模块 1.执行脚本 &#xff0c;执行完毕后重启服务器2. 继续执行脚本3.检查网卡驱动安装是否正确4.查看网卡安装状态5.连接wifi结尾 1.执行脚本 &#xff0c;执行完毕后重启服务器 bash <(curl -sSL https://gitee.com/xjxjin/scripts/raw/main/install_…