1.技术栈:vue vue-router vuex Mint-ui better-scroll;
2.实践总结:
a.单页应用不重新渲染组件问题:组件在初次渲染后不会重新渲染,此时当从某个路径返回到此组件对应的路径时,不会执行created或者mounted,也就不会发请求获取新数据。解决方法是监听$route。代码示例:
watch: {
$route(to, from) {
if(to.path.indexOf("xxxxxx")) {
}
if(from.path.indexOf("xxxxxx")) {
}
}
}
to.path为将要到达的路径,from.path为来自的路径。当匹配到具体路径时调用获取数据的方法更新组件数据。
b.页面间必要参数的传递: 建议使用router的query来传递页面间的必要参数,用vuex的话当用户点刷新后会丢失,用storage不会丢失但是调试也会不方便
c.用vue.set(obj,'key', 'value')设置obj的属性值将会直接改变obj在堆中的状态,是永久性的。
d.使用watch监听数组或者对象时,常常需要深度监听。代码示例:
watch: {
goods: {
handler(newVal, oldVal) {
if(newVal) {
}
},
deep: true
}
}
监听的goods是一个对象数组,当某一个对象的属性发生变化时,watch就能监听到,此时的newVal即为最新的值。
3.布局样式方面总结:
a.页面容器高度自适应: 类似需求是在页面内容高度不固定的情况下,给容器设置一个背景色。以前的解决方法是用媒体查询给出不同的高度,给的高度比所内容都加载完需要的高度还高一点,能解决问题但是不完美而且代码量大。本次的解决方案是直接设置容器的position为relative,设置top:0,bottom:0。完美解决问题。
b.文本换行:使用css3的word-wrap属性来控制文本的换行显示,取值有normal(默认)和break-word(在空格、标点符号处换行)。
对比css3的word-break来适应不同的场景,取值normal(默认)、break-all(遇到容器边界就换行,会折断单词)、keep-all(遇到容器边界换行,但连续的单词不会折断)
c.文本识别回车符:white-space: pre-line用于将在文本域中设置的内容以回车符进行换行展示。
独立完成一个移动点餐wap后的小结的更多相关文章
-
独立开发 一个社交 APP 的架构分享 (已实现)
(本博客为原创:http://www.cnblogs.com/linguanh/) My BananaCloud Android Application 前言: 这算是我的第一个 完完全全 由自 ...
-
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类
今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...
-
qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新
qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新 Widget wit ...
-
独立开发一个App是一种怎样的体验?
(本文原文是我在知乎上写的一篇回答:独立开发一个 App 是一种怎样的体验?) UWP业余开发者表示,非常愿意做一股清流.在喧闹无比的iOS和Android平台,为了给应用造势,太多人费尽心思,勾心斗 ...
-
分布式计算 要不要把写日志独立成一个Server Remote Procedure Call Protocol
w https://en.wikipedia.org/wiki/Remote_procedure_call In distributed computing a remote procedure ca ...
-
001windows已遇到一个关键性问题 一分钟后自动重启
重装了系统Window7,出现了如题的提示"windows已遇到一个关键性问题 一分钟后自动重启" 查找原因: 通过事件管理器可以查看如上提示遇到的问题.一般是因为一些系统的服务没 ...
-
python输入一个字符串,输出翻转后的字符串(翻转字符串)
题目:输出一个字符串,输出翻转后的字符串.例如:输入字符串a123,输出321a. 方法一:使用列表的reverse方法 string=input('请输入一个字符串:') lst=list(stri ...
-
using 中写 return 一样会释放using 中对象 但是会在外面定义一个一样的对象 赋值后 释放 最后 return 外面定义的那个对象
static DataTable getDataTable() { ")) { SqlCommand com = new SqlCommand("", con); Sql ...
-
Python写一个自动点餐程序
Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...
随机推荐
-
TODO:浅谈pm2基本工作原理
TODO:浅谈pm2基本工作原理 要谈Node.js pm2的工作原理,需要先来了解撒旦(Satan)和上帝(God)的关系. 撒旦(Satan),主要指<圣经>中的堕天使(也称堕天使撒旦 ...
-
postgresql数据库的yum安装方法
实验环境>>>>>>>>>>>>>>>>>>操作系统:CentOS release 6.3 ...
-
git操作回顾:
1. git查看自己的本地分支: ***:~/mysite/mysite$ git branch * master 2. 查看远程分支: ***:~/mysite/mysite$ git branch ...
-
NOI2015 Day1
NOI2015 Day1 程序自动分析 题目描述:给出等式或不等式\(n\)条,问\(n\)条式子是否成立. solution: 用并查集处理等式,在判断不等式是否成立. 时间复杂度:\(O(n)\) ...
-
lvm快照备份数据库(Mysql5.7)
备份的目的 能够防止由于机械故障以及人为误操作带来的数据丢失,例如将数据库文件保存在了其它地方. 备份的分类 以操作过程中服务的可用性分: 冷备份:cold backup mysql服务关闭,mysq ...
-
php 编译安装 mysql.so
编译mysql.so # 进入php-5.2.14源码目录 cd /usr/local/src/php- # 进入 mysql ext 的源码目录 cd ext/mysql # 构建编译配置, 假设p ...
-
比赛总结——牛客网 NOIP赛前集训营提高组模拟第一场
第一场打的很惨淡啊 t1二分+前缀最小值没想出来,20分的暴力也挂了,只有10分 t2数位dp,调了半天,结果因为忘了判0的特殊情况WA了一个点,亏死 t3emmmm.. 不会 imone说是DSU ...
-
洛谷 4364 [九省联考2018]IIIDX——“预留”的思路
题目:https://www.luogu.org/problemnew/show/P4364 原来想了一个错误的思路,就是这样: solve( cr , l , r ) 表示 cr 为根的子树填 [ ...
-
zookeeper+kafka集群的安装部署
准备工作 上传 zookeeper-3.4.6.tar.gz.scala-2.11.4.tgz.kafka_2.9.2-0.8.1.1.tgz.slf4j-1.7.6.zip 至/usr/local目 ...
-
c++ 实现atoi()函数
1. 问题描写叙述 实现c++函数库中atoi()函数,要考虑到各种特殊情况: 空字符串. +和-号. 字符串前中后n个空格. 溢出. 非数字字符. 2. 解决方式 转换过程并不复杂.复杂的是要考虑到 ...