用可变变量访问 JavaScript 类、对象的方法(动态访问 JS 类、对象的方法)
JavaScript中,用可变变量访问对象方法或类静态方法,如果访问的方法中 this,此时 this 将会是 undefined。
用对象解构赋值获得函数名(如:xxx)后,用函数名后面加括号(如:xxx())执行函数,this 也是 undefined。
问题复现:
1 | // 动态访问方法 |
用可变变量访问 JavaScript 类、对象的方法(动态访问 JS 类、对象的方法)
JavaScript中,用可变变量访问对象方法或类静态方法,如果访问的方法中 this,此时 this 将会是 undefined。
用对象解构赋值获得函数名(如:xxx)后,用函数名后面加括号(如:xxx())执行函数,this 也是 undefined。
问题复现:
1 | // 动态访问方法 |
我们知道,一个 js Promise 对象,我们可以用 then()、catch()、finally() 进行链式操作,如:
1 | promiseObj.then((res) => { |
这是 js Promise 的基本使用,但是要用好 Promise,还有一下几个问题需要搞清楚。
Promise 对象Promise 对象创建 Promise 实例Vue3 组件间相互访问(单文件 + <script setup> + 组合式 API 举例)
在 <script setup> 中用 defineProps() 声明组件的属性,在父组件模板中引用子组件时,就可以给通过属性给子组件传参数(可以是值、变量、函数、对象等)。
defineProps是编译器宏,Vue3 编译器宏不需要导入,并且只能在<script setup>中使用。
ex: 子组件声明、调用属性
1 | <!-- HelloWorld.vue 子组件--> |
ex: 父组件使用属性
1 | <!-- Demo.vue 父组件 --> |
用 VueRouter hash 模式时,点击浏览器上的后退按钮,浏览器显示上一次浏览页面的时候,会重新执行页面,像页面刷新一样。
跟微信小程序不一样,微信小程序后退的时候不会重新执行,只是给我们一个
onShow事件,这样如果需要刷新数据,我们就可以在onShow里面解决。
在 Vue3 单文件组件中使用 <script setup> + 组合式 API
<script setup> 是在单文件组件 (SFC) 中使用组合式 API 的编译时语法糖。当同时使用 SFC 与组合式 API 时该语法是默认推荐。
在 <script> 标签上添加 setup 属性启用该语法,里面的代码会背编译成组件 setup() 函数的内容,每次组件实例被创建时执行。
1 | <script setup> |
如果要使用 TypeScript,加上 lang="ts" 属性即可。
1 | <script lang="ts" setup> |
当使用 <script setup> 的时候,任何在 <script setup> 声明的顶层的绑定 (包括变量,函数声明,以及 import 导入的内容) 都能在模板中直接使用。
响应式即变量数据变化的时候,视图跟着变化。
响应式状态需要明确使用 响应式 API 来创建.
常用 API:
一个基于element-ui,实现图片选取和上传的Vue插件,可显著提升管理后台图片选取、上传的用户体验。
源码: https://github.com/coderpan-com/elx-imgbox

