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后的小结的更多相关文章

  1. 独立开发 一个社交 APP 的架构分享 (已实现)

    (本博客为原创:http://www.cnblogs.com/linguanh/)   My BananaCloud Android Application 前言:  这算是我的第一个 完完全全 由自 ...

  2. 今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在Win中见过的/r回车符号。由于编辑软件的编码问题,某些IDE的编辑器在编辑完文件之后会自动加上这个^M符号。看起来对我们的源代码没有任何影响,其实并不然,当我们把源代码文件Check In到svn之类

    今天在Mac机器上使用了Flex Builder编辑了一个源代码文件,保存后使用vim命令去打开时发现系统自动在每一行的结尾添加了^M符号,其实^M在Linux/Unix中是非常常见的,也就是我们在W ...

  3. qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新

    qt widget设置Qt::FramelessWindowHint和Qt::WA_TranslucentBackground, 会出现一个bug: 在最小化后还原时界面停止刷新 Widget wit ...

  4. 独立开发一个App是一种怎样的体验?

    (本文原文是我在知乎上写的一篇回答:独立开发一个 App 是一种怎样的体验?) UWP业余开发者表示,非常愿意做一股清流.在喧闹无比的iOS和Android平台,为了给应用造势,太多人费尽心思,勾心斗 ...

  5. 分布式计算 要不要把写日志独立成一个Server Remote Procedure Call Protocol

    w https://en.wikipedia.org/wiki/Remote_procedure_call In distributed computing a remote procedure ca ...

  6. 001windows已遇到一个关键性问题 一分钟后自动重启

    重装了系统Window7,出现了如题的提示"windows已遇到一个关键性问题 一分钟后自动重启" 查找原因: 通过事件管理器可以查看如上提示遇到的问题.一般是因为一些系统的服务没 ...

  7. python输入一个字符串,输出翻转后的字符串(翻转字符串)

    题目:输出一个字符串,输出翻转后的字符串.例如:输入字符串a123,输出321a. 方法一:使用列表的reverse方法 string=input('请输入一个字符串:') lst=list(stri ...

  8. using 中写 return 一样会释放using 中对象 但是会在外面定义一个一样的对象 赋值后 释放 最后 return 外面定义的那个对象

    static DataTable getDataTable() { ")) { SqlCommand com = new SqlCommand("", con); Sql ...

  9. Python写一个自动点餐程序

    Python写一个自动点餐程序 为什么要写这个 公司现在用meican作为点餐渠道,每天规定的时间是早7:00-9:40点餐,有时候我经常容易忘记,或者是在地铁/公交上没办法点餐,所以总是没饭吃,只有 ...

随机推荐

  1. SpringCloud的微服务网关:zuul(理论)

    参考链接:https://springcloud.cc/spring-cloud-dalston.html 一.概念与定义 1.为什么要引入API网关 后期维护:路由规则和服务实例列表困难 系统架构: ...

  2. OrientDB入门(1)Getting Started

    Running OrientDB the First Time First, download and extract OrientDB by selecting the appropriate pa ...

  3. testNG常用方法

    1.常用注释: 注解                  描述 @BeforeSuite                       在该套件的所有测试都运行在注释的方法之前,仅运行一次. @After ...

  4. [洛谷P2024/POJ1182]食物链 - 带偏移量的并查集(2)

    Description 动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B吃 C,C 吃 A. 现有 N 个动物,以 1 - N 编号.每个动物都是 A,B,C 中的 ...

  5. MyBatis(一):配置并使用

    MyBatis具体是什么东东,这些在后边在研究吧,本文目的是为了记录如何使用MyBatis. 首先,需要下载MyBatis开发所需要文件. 通过github上可以找到MyBatis代码:https:/ ...

  6. jacascript 滚动 scroll 与回到顶部

    前言:这是笔者学习之后自己的理解与整理.如果有错误或者疑问的地方,请大家指正,我会持续更新! 滚动 scroll scrollHeight 表示元素的总高度,包括由于溢出而无法展示在网页的不可见部分: ...

  7. 基于gin框架和jwt-go中间件实现小程序用户登陆和token验证

    本文核心内容是利用jwt-go中间件来开发golang webapi用户登陆模块的token下发和验证,小程序登陆功能只是一个切入点,这套逻辑同样适用于其他客户端的登陆处理. 小程序登陆逻辑 小程序的 ...

  8. No Java compiler available

    <!-- 添加tomcat支持 --> <dependency> <groupId>org.springframework.boot</groupId> ...

  9. 用 k8s 管理机密信息 - 每天5分钟玩转 Docker 容器技术(155)

    应用启动过程中可能需要一些敏感信息,比如访问数据库的用户名密码或者秘钥.将这些信息直接保存在容器镜像中显然不妥,Kubernetes 提供的解决方案是 Secret. Secret 会以密文的方式存储 ...

  10. Python求解啤酒问题(携程2016笔试题)

    问题描述:一位酒商共有5桶葡萄酒和1桶啤酒,6个桶的容量分别为30升.32升.36升.38升.40升和62升,并且只卖整桶酒,不零卖.第一位顾客买走了2整桶葡萄酒,第二位顾客买走的葡萄酒是第一位顾客的 ...