<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[FENGZXCjjjjj的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/FENGZXCjjjjj</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; FENGZXCjjjjj]]></copyright><item><title><![CDATA[vue3 使用 vue-ueditor-wrap 集成135以及秀米编辑器(亲测可用)！]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/144351297</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/144351297</guid><author>FENGZXCjjjjj</author><pubDate>Mon, 09 Dec 2024 17:17:43 +0800</pubDate><description><![CDATA[UEditor 并不支持通过 npm 的方式来安装，vue-ueditor-wrap 也只是一个 Vue 组件，组件本身并不是 UEditor 的 Vue 版。说明：不同语言的 UEditor，前端部分，并无区别，只是包含了对应语言的 服务端 示例代码。将解压的文件夹重命名为 UEditor 并移动到你项目的静态资源目录下，比如下面是一个由 Vue CLI（v3+）创建的项目，静态资源目录就是 public。以上图1是135以及秀米编辑器引入成功的样子，图2图3分别是使用135以及秀米编辑器的效果图。]]></description><category></category></item><item><title><![CDATA[Vue-router的安装配置]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749386</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749386</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 28 Jul 2024 12:56:56 +0800</pubDate><description><![CDATA[router-link :to="{ path:'/btn'} ">根据path跳转</router-link><router-link :to="{ name:'user'} ">根据name跳转</router-link>使用<router-link>跳转,<router-link> 默认会被渲染成一个 `<a>` 标签。<router-link to="/btn">通过to指定链接</router-link>在src下创建router目录，在router目录里面创建index.js。]]></description><category></category></item><item><title><![CDATA[CSS中的伪类有哪些？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749366</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749366</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 28 Jul 2024 12:54:19 +0800</pubDate><description><![CDATA[伪元素（Pseudo-element）则是用于创建并操作元素的特定部分，它可以在DOM中创建一个不存在的元素，并为其添加样式。常见的伪元素包括：before（在元素内容之前插入内容）、after（在元素内容之后插入内容）、first-letter（选取第一个字母）等。伪类（Pseudo-class）和伪元素（Pseudo-element）是CSS中的两个概念，用于选择DOM元素的特定状态或位置。1. 目标不同：伪类选择已存在的元素的特定状态或行为，而伪元素创建一个不存在的元素的特定部分。]]></description><category></category></item><item><title><![CDATA[ajax每个属性的作用]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749340</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749340</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 28 Jul 2024 12:52:00 +0800</pubDate><description><![CDATA[`onreadystatechange`: 一个事件处理函数，当`xhr`对象的`readyState`属性发生变化时被调用，用于处理服务器响应。- `readyState`: 表示请求的状态，0-未初始化，1-启动，2-发送，3-接收，4-完成。- `open()`: 设置请求的方法（如GET、POST）和URL，以及是否采用异步方式发起请求。- `xhr`: XMLHttpRequest 对象，用于发起HTTP请求并接收服务器的响应。- `responseText`: 服务器返回的响应数据。]]></description><category></category></item><item><title><![CDATA[什么是 async 、 await]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749315</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749315</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 28 Jul 2024 12:49:20 +0800</pubDate><description><![CDATA[当我们使用 await 等待一个 Promise 对象时，JavaScript 引擎会暂停当前函数的执行，直到 Promise 对象执行完毕并返回结果才会继续执行下面的代码。async 函数是一个返回 Promise 对象的函数，它在函数体内部使用 await 来等待 Promise 对象执行结果。这个函数使用 async 关键字声明，返回一个 Promise 对象，在函数体内部使用 await 等待异步操作完成，然后将得到的数据返回。]]></description><category></category></item><item><title><![CDATA[js的回车事件]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749295</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140749295</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 28 Jul 2024 12:46:45 +0800</pubDate><description><![CDATA[在上面的代码中，我们使用 `addEventListener` 方法来监听全局的键盘事件，在事件处理函数中判断是否按下了 Enter 键（键名为 `'Enter'`）。当用户按下回车键时，控制台会输出 `'Enter 键被按下了'`。可以使用 `event.code` 属性来判断按下的键是否是回车键。在大多数现代浏览器中，按下回车键的 `event.code` 值通常为 `'Enter'`。在这个示例中，我们用 `event.code` 来检查按下的键是否是回车键，并在控制台中输出相应的信息。]]></description><category></category></item><item><title><![CDATA[js切割字符串指定个数？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140740626</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140740626</guid><author>FENGZXCjjjjj</author><pubDate>Sat, 27 Jul 2024 20:25:11 +0800</pubDate><description><![CDATA[在上面的例子中，cutLength 变量表示要从字符串开头剪切掉的字符数。你可以根据需要修改 cutLength 的值来剪切不同长度的字符。如果你想剪切字符串的开头几个字符，可以使用 JavaScript 的 substring() 方法或者 slice() 方法。]]></description><category></category></item><item><title><![CDATA[js切割接口域名前缀。]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140740601</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140740601</guid><author>FENGZXCjjjjj</author><pubDate>Sat, 27 Jul 2024 20:23:46 +0800</pubDate><description><![CDATA[在上面的代码中，trimDomainPrefix() 函数接收一个字符串形式的域名，并通过循环遍历定义好的前缀列表，逐一检查是否以这些前缀开头，若是则使用 slice() 方法将前缀部分剪切掉，最后返回处理后的域名字符串。在请求图片时，可能会有有域名的，或没域名的地址，这就需要判断，把字符串域名把域名前缀剪切掉。]]></description><category></category></item><item><title><![CDATA[vue中怎么改变状态值？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586247</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586247</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:23:43 +0800</pubDate><description><![CDATA[在Vue中，状态值通常指的是组件的data函数返回的对象中的属性，或者是Vuex状态管理库中的状态。]]></description><category></category></item><item><title><![CDATA[vue如何解决跨域？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586213</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586213</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:21:28 +0800</pubDate><description><![CDATA[在Vue.js项目中，当你的前端应用尝试从与自身不同源的服务器（协议、域名、端口中的任一不同）加载资源时，可能会遇到跨域（CORS, Cross-Origin Resource Sharing）问题。]]></description><category></category></item><item><title><![CDATA[什么是dom驱动？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586174</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586174</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:19:20 +0800</pubDate><description><![CDATA[然而，DOM驱动在某些需要直接和精确控制DOM的场景中仍然是有用的。在DOM驱动的开发模式下，当数据发生变化时，开发人员需要手动选择要更新的DOM元素，并修改其属性或内容以反映新的数据状态。随着前端技术的不断发展，现代前端框架（如Vue、React等）更多地采用了数据驱动的开发模式，以简化开发流程、提高开发效率和降低维护成本。DOM（Document Object Model）驱动是传统前端开发中的一种方式，它涉及直接操作DOM元素来实现页面的动态变化。]]></description><category></category></item><item><title><![CDATA[Vue中的事件修饰符？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586148</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586148</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:16:00 +0800</pubDate><description><![CDATA[在Vue.js中，事件修饰符提供了一种简洁的方式来处理DOM事件中的常见问题，如阻止事件冒泡、阻止默认行为等。Vue的事件修饰符以。: 在组件根元素上监听原生事件。由于组件是Vue的抽象，因此通常不建议直接在组件上监听原生事件，但有时候这是有必要的。和其他特性的更新，这可能会改变组件的DOM结构或事件监听方式。在Vue 3中，事件修饰符的使用方式与Vue 2类似，但需要注意的是，Vue 3的。: 使用事件捕获模式监听事件。: 阻止事件的默认行为。监听组件发出的自定义事件，而不是直接监听原生事件。]]></description><category></category></item><item><title><![CDATA[rest参数是什么？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586112</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586112</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:12:44 +0800</pubDate><description><![CDATA[Rest参数是JavaScript中的一种特殊参数类型，它允许开发者定义一个函数，以便接收不定数量的参数。Rest参数的使用是通过在参数列表末尾添加。Rest参数的语法很简单，即在函数参数列表的最后添加三个点(...)操作符，后面跟着参数名。符号来实现的，这些额外的参数会被收集到一个数组中，使得编写处理多个参数的代码更加简洁和易于维护。请注意，rest参数必须是函数参数列表中的最后一个参数，即rest参数之后不能再有其他参数。在调用该函数时，我们可以传递任意多个参数，并在函数内部以数组形式访问这些参数。]]></description><category></category></item><item><title><![CDATA[vue2和vue3的区别，以及生命周期？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586030</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586030</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:06:37 +0800</pubDate><description><![CDATA[可以看到，Vue.js 3 移除了 beforeUpdate 和 updated 这两个生命周期钩子函数，并引入了 beforeUnmount 和 unmounted 这两个新的生命周期钩子函数。Vue.js 3 是在 Vue.js 2 的基础上进行了重写和改进的版本，它带来了许多新的特性和改进，并且在性能、体积和开发体验等方面都有所提升。2. created: 与 Vue.js 2 相同，实例创建完成之后，属性和方法已经加入到实例中，但是 DOM 还未生成，无法访问 DOM。在这一步，实例仍然完全可用。]]></description><category></category></item><item><title><![CDATA[vuex和pinia的区别是什么？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586010</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140586010</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 21 Jul 2024 12:04:57 +0800</pubDate><description><![CDATA[总的来说，Pinia 和 Vuex 都是用于状态管理的库，但它们在语法和用法、类型支持、性能优化以及插件生态系统等方面存在一些不同。如果你正在使用 Vue 3，并且需要更好的 TypeScript 支持和性能优化，那么 Pinia 可能是一个很好的选择。1. 语法和用法：Pinia 是为 Vue 3 设计的状态管理库，而 Vuex 是为 Vue 2 设计的。Pinia 使用了新的 Composition API，并且更加模块化，而 Vuex 则使用了较旧的 Options API。]]></description><category></category></item><item><title><![CDATA[怎样获取openid？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140415369</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140415369</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 14 Jul 2024 12:48:43 +0800</pubDate><description><![CDATA[在服务器端，根据接收到的 code，使用服务器端语言（如Node.js、PHP等）发起请求调用微信的接口。需要注意的是，以上代码仅为示例，实际使用时需要替换成你自己的 AppID、AppSecret 和服务器端的具体实现。在上述代码的注释部分，将获取到的 code 发送到服务器端，可以使用 `wx.request()` 方法发送 HTTP 请求，将 code 作为参数传递给服务器。4. 在服务器端获取到用户的 OpenID之后，可以根据业务需求进行相应的处理，例如存储到数据库中或进行其他操作。]]></description><category></category></item><item><title><![CDATA[什么是原型，它有什么用？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140415352</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140415352</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 14 Jul 2024 12:46:08 +0800</pubDate><description><![CDATA[原型是JavaScript实现继承的基础，它构成了JavaScript中对象之间的链式关系。1. **属性和方法的继承**：当我们访问对象的属性或方法时，如果该对象本身没有这个属性或方法，JavaScript会沿着原型链向上查找，直到找到对应的属性或方法。3. **构造函数与实例**：在JavaScript中，构造函数的`prototype`属性指向了一个对象，这个对象就是实例的原型。4. **动态性**：可以通过修改原型对象，动态地为已存在的对象添加新的属性和方法，这对于类似继承和扩展的需求非常有用。]]></description><category></category></item><item><title><![CDATA[什么是虚拟dom、diff算法？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140415336</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140415336</guid><author>FENGZXCjjjjj</author><pubDate>Sun, 14 Jul 2024 12:44:51 +0800</pubDate><description><![CDATA[当组件的状态发生变化时，框架会首先在内存中构建一个虚拟 DOM 树，然后通过比对虚拟 DOM 和上一次渲染的虚拟 DOM 树，找出两者之间的差异（Diff），最后只对必须更新的部分进行实际的 DOM 操作。- 常见的 Diff 算法包括了 React 中的 O(n^3) 算法（React 15及以下版本使用）、React 中的 Fiber 架构带来的增量更新算法、Vue 中基于双端比较的算法等。虚拟 DOM 的 Diff 算法的主要目标是在进行更新操作时尽量减少实际的 DOM 操作次数。]]></description><category></category></item><item><title><![CDATA[Git项目配置，怎样上传？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140404688</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140404688</guid><author>FENGZXCjjjjj</author><pubDate>Sat, 13 Jul 2024 19:02:43 +0800</pubDate><description><![CDATA[3. 创建新的仓库：在GitHub上创建一个新的仓库来存储你的项目。完成以上步骤后，你的项目就会被上传到GitHub上的远程仓库中。8. 关联远程仓库：在GitHub上创建的仓库页面中，复制远程仓库的URL。4. 在本地创建项目目录：在你的计算机上选择一个合适的文件夹作为你的项目目录，并在该目录下创建你的项目文件。2. 创建GitHub账号：如果你还没有GitHub账号，访问GitHub官方网站，并创建一个新的账号。9. 推送到GitHub：最后一步是将本地的提交推送到GitHub上的远程仓库。]]></description><category></category></item><item><title><![CDATA[导航守卫都有哪些？有什么用？]]></title><link>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140404661</link><guid>https://blog.youkuaiyun.com/FENGZXCjjjjj/article/details/140404661</guid><author>FENGZXCjjjjj</author><pubDate>Sat, 13 Jul 2024 19:00:27 +0800</pubDate><description><![CDATA[不同类型的导航守卫可以在全局、组件级别或特定路由上实现不同的逻辑，使得我们可以更好地控制和管理应用的路由导航行为。- 全局解析守卫 (beforeResolve)：在导航被确认之前执行，通常用于确保路由的异步操作完全解析。- 全局前置守卫 (beforeEach)：用于在每次路由跳转前进行全局的权限验证、登录状态检查等操作。- beforeRouteLeave：在离开当前组件时执行，可以用于确认离开前的操作。- 路由解析：确保路由的解析完全，处理可能的异步操作。]]></description><category></category></item></channel></rss>