<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[admin_djp的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/admin_djp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; admin_djp]]></copyright><item><title><![CDATA[uni-app踩坑——打包成app后无法获取位置信息]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/120092497</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/120092497</guid><author>admin_djp</author><pubDate>Sat, 04 Sep 2021 00:33:17 +0800</pubDate><description><![CDATA[问题描述：
使用 uni.getLocation(OBJECT) 接口在真机模拟上可以获取经纬度，但是打包成安卓app就一直走fail失败处理函数，同一个设备环境下运行的。
 

解决方案：
本人参考以下优秀作者作者博客：
https://blog.youkuaiyun.com/u010227042/article/details/106560509
可以按着作者所教的步骤一步步往下走，但是后面发现还是无法获取获取位置，试了半天才发现问题所在,就是 SHA1,不要复制作者文中的SHA1(切记！切记！切记！)，因为那个可]]></description><category></category></item><item><title><![CDATA[vuex]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/112545452</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/112545452</guid><author>admin_djp</author><pubDate>Tue, 12 Jan 2021 20:04:29 +0800</pubDate><description><![CDATA[文章目录前言一、vuex使用步骤二、vuex基本的对象

前言
Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态，并以相应的规则保证状态以一种可预测的方式发生变化。引自官方

一、vuex使用步骤
// 引入Vue、Vuex三方件
import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)
const store = new Vuex.Store({
  modules: {
    use]]></description><category></category></item><item><title><![CDATA[vue-router导航卫士]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/112490784</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/112490784</guid><author>admin_djp</author><pubDate>Mon, 11 Jan 2021 20:36:49 +0800</pubDate><description><![CDATA[导航守卫
&nbsp;&nbsp;&nbsp;&nbsp;vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航，多种机会植入路由导航过程中：全局的, 单个路由独享的, 或者组件级的。
&nbsp;&nbsp;&nbsp;&nbsp;参数或查询的改变并不会触发进入/离开的导航守卫。你可以通过观察 $route 对象来应对这些变化，或使用 beforeRouteUpdate 的组件内守卫
全局前置守卫
全局前置守卫：router.beforeEach
const router = new V]]></description><category></category></item><item><title><![CDATA[vue中computed和watch]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/112252105</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/112252105</guid><author>admin_djp</author><pubDate>Tue, 05 Jan 2021 20:40:51 +0800</pubDate><description><![CDATA[computed（计算属性）：
&nbsp; &nbsp; &nbsp; &nbsp; 作用：能够避免数据冗余，通过计算，可以在已有的data数据中生成新的变量，计算属性的变量将会被缓存
&nbsp; &nbsp; &nbsp; &nbsp;  触发时机：当依赖的响应式属性变化才会重新计算
示例：
&lt;div id="app"&gt;{{fullName}}&lt;/div&gt;

var vm = new Vue({
   el:'#app',
   data:{
     fristName:'z]]></description><category></category></item><item><title><![CDATA[vue中router与route区别]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/112200606</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/112200606</guid><author>admin_djp</author><pubDate>Mon, 04 Jan 2021 20:49:46 +0800</pubDate><description><![CDATA[文章目录前言一、$route对象二、$router对象1、push2、go3、replace4.一般使用replace来做404页面

前言
vue-router中经常会操作的两个对象route和router两个。

一、$route对象
&nbsp; &nbsp; &nbsp; &nbsp;$route对象表示当前的路由信息，包含了当前 URL 解析得到的信息。包含当前的路径，参数，query对象等。



$route.path      字符串，对应当前路由的路径，总是解析为绝对路径，如"/foo/b]]></description><category></category></item><item><title><![CDATA[vue过滤器起步]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/111935862</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/111935862</guid><author>admin_djp</author><pubDate>Tue, 29 Dec 2020 20:59:16 +0800</pubDate><description><![CDATA[文章目录前言一、创建过滤器二、过滤器使用三、实例

前言
&nbsp;&nbsp;&nbsp;&nbsp;过滤器，顾名思义，过滤就是一个数据经过了这个过滤之后出来另一样东西，可以是从中取得你想要的，或者给那个数据添加点什么装饰，那么过滤器则是过滤的工具。例如把‘Hello改成成‘Hello World’，那么可用过滤器给值‘Hello’后面添加上‘ World’；或者把时间戳改为我们想要的时期等都可以使用过滤器。

一、创建过滤器
定义过滤器

全局过滤器

Vue.filter('过滤器名称', func]]></description><category></category></item><item><title><![CDATA[vue生命周期钩子函数]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/111874185</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/111874185</guid><author>admin_djp</author><pubDate>Mon, 28 Dec 2020 20:54:48 +0800</pubDate><description><![CDATA[文章目录前言一、vue的生命周期是什么二、vue生命周期钩子执行顺序

前言
&nbsp;&nbsp;&nbsp;&nbsp;vue所有的生命周期钩子自动绑定 this 上下文到实例中，因此你可以访问数据，对属性和方法进行运算。这意味着 你不能使用箭头函数来定义一个生命周期方法 (例如 created: () =&gt; this.fetchTodos())。这是因为箭头函数绑定了父上下文，因此 this 与你期待的 Vue 实例不同， this.fetchTodos 的行为未定义
一、vue的生命周期是什]]></description><category></category></item><item><title><![CDATA[Vue自定义指令]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/111564111</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/111564111</guid><author>admin_djp</author><pubDate>Tue, 22 Dec 2020 19:58:14 +0800</pubDate><description><![CDATA[文章目录前言一、注册全局注册：局部注册：二、属性自定义指令属性钩子函数参数三、 传入多个值

前言
除了核心功能默认的内置指令（v-model等等），vue也允许注册自定义指令。注意，在vue2.0中，代码复用和抽象的主要形式是组件，但是在有些情况下，我们需要对普通的DOM元素进行底层操作，这时候就需要我们用到自定义指令。

一、注册
全局注册：
   Vue.directive('指令名', {
        inserted: function (el) {
           //指令属性
  .]]></description><category></category></item><item><title><![CDATA[Vue常用指令和修饰符]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/111502187</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/111502187</guid><author>admin_djp</author><pubDate>Mon, 21 Dec 2020 23:38:14 +0800</pubDate><description><![CDATA[文章目录一、指令v-textv-htmlv-prev-cloakv-oncev-showv-ifv-elsev-else-ifv-forv-onv-bindv-model二、修饰符事件有关的修饰符.trim.number.lazy

一、指令
v-text

v-text主要用来更新textContent，可以等同于JS的text属性。

&lt;h1 v-text="msg"&gt;&lt;/h1&gt;

v-html

双大括号的方式会将数据解释为纯文本，而非HTML。为了输出真正的HTML，可以用v]]></description><category></category></item><item><title><![CDATA[利用canvas绘制表盘]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/111243061</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/111243061</guid><author>admin_djp</author><pubDate>Tue, 15 Dec 2020 23:31:40 +0800</pubDate><description><![CDATA[canvas
canvas简介
HTML5 的 canvas 元素使用 JavaScript 在网页上绘制图像。
画布是一个矩形区域，您可以控制其每一像素。
canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法。
准备工作
在我们开始画时钟之前，我们需要页面上画一个canvas用来绘制时钟，而且
canvas 元素本身是没有绘图能力的。所有的绘制工作必须在 JavaScript 内部完成。
其中width和height是画布的宽和高，并给它取个id后面方便找到她。
canvas.getCont]]></description><category></category></item><item><title><![CDATA[path路径模块]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/111242577</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/111242577</guid><author>admin_djp</author><pubDate>Tue, 15 Dec 2020 22:51:14 +0800</pubDate><description><![CDATA[ath模块是node.js中处理路径的核心模块。可以很方便的处理关于文件路径的问题。
join() 将多个参数值合并成一个路径
const path = require(‘path’);
console.log(path.join(’./a’, ‘b’, ‘c’));
basename() 获取路径中的文件名
const path = require(‘path’);
//获取文件名，包含扩展名
console.log(path.basename(’./a/b/c/1.txt’));
//获取文件名，去掉扩]]></description><category></category></item><item><title><![CDATA[理解 Promise]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/110880073</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/110880073</guid><author>admin_djp</author><pubDate>Tue, 08 Dec 2020 19:59:55 +0800</pubDate><description><![CDATA[文章目录前言基本概念名称状态特点基本用法

前言
&nbsp;&nbsp;&nbsp;&nbsp;Promise 是异步编程的一种解决方案，比传统的解决方案——callback回调函数和事件——更合理且更强大。它最早由社区提出并实现，ES6将其写进了语言标准，统一了用法，并原生提供了Promise对象。Promise说得通俗一点就是一种写代码的方式，并且是用来写JavaScript编程中的异步代码的

基本概念
名称

译为“承诺”，这也就表达了将来会执行的操作，代表异步操作；

状态

pending状.]]></description><category></category></item><item><title><![CDATA[node-fs文件模块]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/110825280</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/110825280</guid><author>admin_djp</author><pubDate>Mon, 07 Dec 2020 20:32:21 +0800</pubDate><description><![CDATA[文章目录前言一、读取文件1.异步方式2.同步方式二、写入文件1.覆盖式写入2.追加式写入三、文件的其他操作

前言
fs模块是nodejs的一个内置模块，fs模块用于对系统文件及目录进行读写操作。fs模块提供了一些操作系统文件相关的api，所有的文件系统操作都具有同步和异步的形式。异步的形式总是把完成回调作为其最后一个参数。 传给完成回调的参数取决于具体方法，但第一个参数总是预留给异常。 如果操作被成功地完成，则第一个参数会为 null 或 undefined。

一、读取文件
1.异步方式

fs.rea]]></description><category></category></item><item><title><![CDATA[es6新增的Symbol、Set 和 Map]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/110457542</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/110457542</guid><author>admin_djp</author><pubDate>Tue, 01 Dec 2020 23:42:03 +0800</pubDate><description><![CDATA[Symbol
&nbsp;&nbsp;&nbsp;&nbsp;Symbol 是 ES6 引入了一种新的原始数据类型，表示独一无二的值。它是 JavaScript 语言的第七种数据类型，前六种分别是：undefined、null、布尔值（Boolean）、字符串（String）、数值（Number）、对象（Object）；
&nbsp;&nbsp;&nbsp;&nbsp;Symbol 值通过Symbol函数生成，可以作为对象的属性名使用，保证不会与其他属性名产生冲突；
let s = Symbol();
ty]]></description><category></category></item><item><title><![CDATA[var、let和const的区别]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/110452033</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/110452033</guid><author>admin_djp</author><pubDate>Tue, 01 Dec 2020 20:55:02 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;我们主要通过声明、初始化、值的可变性、作用域、变量提升等多个方面来详细了解var、let、const等关键字功能与特点。
声明


var，let：可以先声明，后赋值（初始化），默认值是 undefined。


const：不能将声明与初始化单独分开，否则报错，没有默认值。


var：声明的标识符可以被重复声明多次，多次声明进行的都是覆盖操作，


const，let：同一个标识符不能同时声明多次，否则报语法错误。


let variable;
let ]]></description><category></category></item><item><title><![CDATA[AJAX跨域问题]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/110007214</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/110007214</guid><author>admin_djp</author><pubDate>Mon, 23 Nov 2020 23:13:25 +0800</pubDate><description><![CDATA[文章目录前言一、什么是跨域？二、使用步骤1.引入库2.读入数据总结

前言
jsonp是跨域问题的一种解决方案，是一种常用的跨域手段，只支持JS脚本和JSON格式的数据本质是利用同源策略的漏洞

一、什么是跨域？
当一个请求url的协议、域名、端口三者之间任意一个与当前页面url不同即为跨域
例如：
    http://www.abc.com/1.html  /   http://www.abc.com/aaa.html
    https://www.abc.com/1.html  /   http:/]]></description><category></category></item><item><title><![CDATA[jquery中serialize()]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/110005055</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/110005055</guid><author>admin_djp</author><pubDate>Mon, 23 Nov 2020 20:08:05 +0800</pubDate><description><![CDATA[文章目录前言一、定义和用法二、使用三、注意事项

前言
我们在表单ajax请求中，往往会传递一些参数,要是一个个获取感觉很麻烦,于是jQuery提供serialize()方法，让我们可以方便快捷的获取到表单中想要的值。
一、定义和用法
serialize() 方法通过序列化表单值，创建 URL 编码文本字符串。
您可以选择一个或多个表单元素（比如 input 及/或 文本框），或者 form 元素本身。
序列化的值可在生成 AJAX 请求时用于 URL 查询字符串中。
$("form").serialize]]></description><category></category></item><item><title><![CDATA[原生AJAX请求]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/109752211</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/109752211</guid><author>admin_djp</author><pubDate>Tue, 17 Nov 2020 20:59:52 +0800</pubDate><description><![CDATA[提示：文章写完后，目录可以自动生成，如何生成可参考右边的帮助文档

文章目录前言一、AJAX五部曲1.创建一个异步对象xmlhttp；2.调用open方法设置请求方式和请求地址；3.设置请求头（post需要）4.监听请求完成函数5.发送请求二、案例

前言
ajax 即 Asynchronous Javascript And XML，AJAX 不是一门的新的语言，而是对现有持术的综合利用。本质是在 HTTP 协议的基础上以异步的方式与服务器进行通信.

提示：以下是本篇文章正文内容，下面案例可供参考
一、A]]></description><category></category></item><item><title><![CDATA[移动端 touch事件]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/109749922</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/109749922</guid><author>admin_djp</author><pubDate>Tue, 17 Nov 2020 20:02:28 +0800</pubDate><description><![CDATA[文章目录前言一、事件类型二、touch和click当同一个对象同时绑定touch事件和点击事件：1.触摸并移动2.触摸不移动3.touch模拟点击

前言
&nbsp;&nbsp;&nbsp;&nbsp;随着智能手机和平板电脑的普及, 越来越多的人用移动设备浏览网页，我们平时在pc浏览器上用的鼠标事件，比如：click, mouseover等等， 已经无法满足移动设备触摸屏的特点，触摸时代的到来，离不开那些触摸事件。

一、事件类型

touchstart : 触摸开始（手指放在触摸屏上）

&lt;div]]></description><category></category></item><item><title><![CDATA[bootstrap中的导航栏]]></title><link>https://blog.youkuaiyun.com/admin_djp/article/details/109609287</link><guid>https://blog.youkuaiyun.com/admin_djp/article/details/109609287</guid><author>admin_djp</author><pubDate>Tue, 10 Nov 2020 22:53:46 +0800</pubDate><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;导航栏是一个将商标、导航以及别的元素简单放置到一个简洁导航页头的容器代码组合，它很容易扩展，而且在折叠板插件的帮助下，它可以轻松与其它内容整合。Bootstrap提供了一套基础CSS样式，与此同时还提供了一组前端组件，其中就有导航栏。
&nbsp;&nbsp;&nbsp;&nbsp;导航栏：navbar
&nbsp;&nbsp;&nbsp;&nbsp;
导航栏容器可以包含以下几个常用组成：

品牌LOGO（.navbar-brand ）
导航菜单（.navba]]></description><category></category></item></channel></rss>