小程序面试重点:多插槽、跨域、字符串转数组与Promise解析

需积分: 5 0 下载量 72 浏览量 更新于2024-08-04 收藏 14KB MD 举报
"杨玲老师频繁问的面试总结" 在面试中,面试官杨玲老师可能会关注以下几个关键知识点: 1. **小程序多插槽的开启与使用** 在小程序开发中,有时我们需要在组件内部定义多个插槽以允许外部内容插入。开启多插槽功能需要在组件的`options`中设置`multipleSlots`为`true`。例如: ```js options: { multipleSlots: true }, ``` 随后,可以在组件模板中定义多个`slot`,如`<slot name="a1"></slot>`和`<slot name="a2"></slot>`。外部可以使用`slot`属性指定内容插入哪个插槽,例如: ```html <view slot="a1">我会插入到a1插槽</view> <view slot="a2">我会插入到a2插槽</view> ``` 2. **小程序与H5的跨域问题** 小程序本身不存在跨域问题,但当小程序转换为H5时,跨域成为了一个需要解决的问题。在uniapp中,可以通过配置`manifest.json`中的`proxy`代理来解决H5的跨域问题。例如: ```js "h5": { "devServer": { // ... "proxy": { "/api": { "target": "https://api.ggjtaq.com/v1.0", "changeOrigin": true, "secure": false, "pathRewrite": { "^/api": "/" } } } } } ``` 这样,所有以`/api`开头的请求都会被代理到指定的URL。 3. **字符串转换成数组的方法** JavaScript 提供了`split()`方法将字符串分割成数组。例如,如果有一个字符串`str = 'a-b-c-d'`,可以使用`str.split('-')`将其转换为`['a', 'b', 'c', 'd']`。 4. **v-for绑定key的作用** 在Vue中,`v-for`指令用于遍历数组或对象。绑定`key`的主要目的是确保在列表更新时能够正确识别和重用已存在的DOM元素。如果没有`key`,Vue会尝试尽可能地复用元素,但可能会导致不必要的重绘。当`key`存在时,Vue可以通过比较新旧`key`来决定是否需要重新渲染元素,从而提高性能。 5. **等于运算符的区别** - `=`:赋值运算符,用于将右侧的值赋给左侧变量。 - `==`:等于运算符,比较值是否相等,会进行类型转换。 - `===`:全等运算符,不仅比较值是否相等,还检查类型是否一致。 6. **Promise的理解** Promise是ES6引入的一种处理异步操作的机制,它解决了传统的回调地狱问题。Promise对象代表一个异步操作的最终完成或失败,可以处于三种状态之一:pending(等待中)、fulfilled(已完成)或rejected(已失败)。通过链式调用`.then()`和`.catch()`,我们可以优雅地处理异步操作的成功和错误情况。Promise体内可以放置异步代码,使得异步逻辑更加清晰。 以上是杨玲老师可能在面试中关注的一些核心技术点,涵盖小程序开发、前端网络配置、数据处理以及JavaScript基础等多个方面。理解和掌握这些知识点对于面试准备至关重要。