用可变变量访问 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