简答题29/29有下面程序代码代码有什么问题,如何修改?Package m

1 windows用户建议下载LTS中64位msi版本"生成公钥,然后将公钥复制到码云的SSH公钥中;
5 创建一个基于webpack模板的新项目,即输入vue init webpack xxx,可以选择在任意位置来初始化一个vue项目,然后把项目中的文件全部拷到git仓库下;也可以直接在git仓库的当前目录下进行初始化,然后选择合并,这时候如果git仓库中有和vue项目中相同名字的文件则会会替换;
 

  这样就完成了公用数据的修改。

最后补充,在vue中,可以采用<router-link>来做页面跳转,同时,也可以采用router.push的方式实现页面的跳转,具体如下:

  vuex还有Getter和Module核心概念,Getter相当于vue中的计算属性,是根据公共数据属性来形成一个新属性;也可以通过映射的方式使用Getter,即:

然后在计算属性中增加:

  而Module则是对各个组件所用的资源进行各自管理,让各个模块都有自己是state、actions和mutations,这样使用module可以使我们的代码具有更好的维护性,由于本项目公用数据较少,故没有必要用module进行拆分,拆分了反而让我们的代码看起来别扭。

十八、使用keep-alive优化网络性能

(1)选择Network和其中的XHR,可以看出,当每次回到首页和进行城市列表页时都会相应的向后台发送city.json和index.json等ajax请求,每次路由重新切换到首页这个组件的时候,这个组件都会被重新渲染,它的mounted生命周期钩子函数就会被执行,也就会发送ajax请求。

  意思是路由的内容加载过1次后就把路由中的内容放到内存中去,下一次再进这个路由的时候,不需要重新渲染这个组件,也就不会调用mounted生命周期钩子函数,这样就不会发送ajax请求了。

(3)但改变城市时,也不会去发送ajax请求,故逻辑存在问题。首先,在Home.vue中引入mapstate,即:

  然后在计算属性中增加:

  最后在发ajax请求的时,把city数据放到请求的参数里,即:

(4)当使用缓存时,会多出1个生命周期钩子函数activated(),当刚进入页面时,mounted()和activated()都会被执行,而切换城市之后只有activated()会执行,当页面重新被显示时,会调用activated()函数,所以可以判断当前城市和上一次城市是否相同,若不相同,则再发一次ajax请求;即:

(2)我们希望点击不同的推荐景点时,获得不同的返回页面,这时需要讲<router-link>中的to做1个动态的绑定,即

  这就实现了1个参数的传递。

  在vue中,通过detail后加1个:id的形式,就写了1个动态路由,意思说前面的路径必须是/detail/,而后面可以带1个参数,参数放到id变量里;【注:项目中只说了如何传递,但实际上都是用Detail来显示,不知道不同的id对应的页面如何进行处理

二十、实现header渐隐渐现的效果

(1)我们希望刚开始进入的时候在header区域不显示景点详情,而往下滚动到60px的时候在header最上方中间位置显示出景点详情,而且在60px到140px之间有1个渐隐渐现的效果,超过140px就完全显示。因此,需要在data里定义1个变量showAbs,当返回箭头显示的时候景点详情不显示,而到了60px景点详情显示,返回箭头不显示,以控制返回箭头和景点详情的显示与否。即:

(2)因为要有1个渐隐渐现的效果,因此可以给包裹景点详情的标签绑定1个动态样式,在data中定义opacityStyle,即:

(3)我们需要对windows scroll时间进行监听,因为使用了keep-alive,因此页面被展示的时候activated这个钩子函数就会被执行,故activated()如下所示:

(4)然后继续对handleScroll的编写,即在methods中完成该方法的定义,即:

(5)由于在activated中对windows做了1个事件的绑定,由于windows是1个全局对象,windows绑定的事件不仅对这个组件有效果,而且对其它组件也会产生影响;同时,还存在deactivated()生命周期钩子函数,当页面即将改变或替换成新的页面时,该函数会被执行,通过该函数实现全局事件的解绑;即:

 二十一、递归组件入门

8 title: '成人三馆联票-某一连锁店销售'

(2)在List.vue组件中进行接收,然后对这个list进行循环;

(3)这时候就可以巧妙的使用递归组件了,递归组件就是组件调用自身的行为,以前我们都会给组件定义1个名字,定义这个名字很大程度上是为了使用递归组件,代码如下:

 二十二、使用ajax获取动态数据

(1)当访问id为003这个景点的时候,我们需要获取003这个景点对应的数据,而访问001景点时,同样获取001对应的景点的数据;所以每一次请求,希望把id这个参数带给后端,这个id是动态路由的1个参数。

(2)在/router/index.js中定义了这个动态路由,会把id存在这个变量里,即:

由于采用这种办法拼接后面的参数是比较麻烦的,因此可以换1种写法,二者是完全等效的;即:

(4)由于使用了<keep-alive>,mounted只会执行1次,因此替换好了之后,当访问002的数据时,并不会重新获取数据;一种方案是使用activated生命周期钩子函数;另一种方案是<keep-alive>中增加exclude="Detail"选项,Detail是组件的名字,这样Detail就不会被缓存了,那么每一次进入页面,mounted生命周期函数就会被执行,也就会重新发送ajax请求。

二十三、组件中定义名字的作用

(1)递归组件中的使用;

(2)取消缓存时的作用;

(3)在vue Devtool调试时可以看到组件的名字,方便调试;

 二十四、在项目中加入基础动画

(1)点击图片进入图片轮播时,需要增加1个渐隐渐现的效果;

(2)在common目录下再创建1个文件夹fade,里面再创建1个文件Fade.vue;

对于单个组件的动画,写1个<transition>标签,在里面有1个<slot>,slot是外部组件插入进来的1个插槽;transition如果想让它有动画效果,vue内部会自动在一些时间节点上向这些标签插入一些class名字,借助这些class,我们可以实现动画,比较经典的如下:

}

我的天啊,他们真招了一只兔子,好萌.我跟你说,你比我想象中的还可爱。

你可能不知道吧,兔子可以说别的兔子“可爱”,但是别的动物说就有一点...那个...

哦,抱歉,我,他们认为我只是个爱吃甜甜圈的胖子.个人偏见真伤人

}

最近项目中需要加一个体温检测的模块 需要用到android的串口通信知识点

之前没有深入了解过 串口通信 在查询知识点的时候 查到了google的demo
说实话 研究google这个demo 很简单没有什么难度 但是我遇到一个问题

在向串口发送指令后 却收不到串口返回的数据 这个问题我百思不得其解
一直查资料 查到一个和我遇到一样问题的

看到这个答案时 内心是多么的激动 但是这个回答却让我无从下手 找不到切入点

茫茫排错之路 才刚刚开始

在无限翻阅博客的时候 我注意到这样一篇关于 USB转ch340串口的文章
讲述的是CH340的一个usb转串口模块的知识点 我在查看我手上的这个usb设备时
恰巧也是ch340 我当时就觉得这就是我要的资料

在仔细研究之后我找到了ch340的生成厂商
在他们提供的demo中我成功的打通了Android 串口通过usb传输数据的方法

所以在这里记录一下过程 让遇到的人少走弯路 也加深自己的记忆

没有积分的朋友可以留言发邮箱 我看到后 给你发邮箱里

按照观点demo一步一步调试 最后还需要单片机的厂商提供的文档哦

Android 串口通信之驱动CH340实现和单片机串口通信
我用下面一张图来说明拿到的数据 及使用方法!
我拿到的数据 十六进制 是aaaf00f25a55 转十进制后 截取中间的数据位
得到365 按照厂商提供的文档 这个数字除以10 就是我们的正常体温!

啊哈哈哈 不经一番寒彻骨 怎得梅花扑鼻香 太难得了 也算是成功的解决了
Android 串口通信的只能发送 不能接受到结果的问题

每天进步一点点 2021 从未停止努力 ~!

}

我要回帖

更多关于 有下面程序代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信