1.项目API来源

2.项目地址

3.截图

                          

                          

4.功能

  • 首页
  • 轮播图
  • 动态消息
  • 下拉刷新
  • 动态消息详情页
  • 侧边栏
  • 侧边栏主题页
  • 主题列表详情
  • + 一些小的交互效果

5.技术栈

vue + vue-router + vuex + axios + mint-ui + muse-ui + element-ui

6.总结

1)首先在制作的时候不要想着一开始就把某部分做的很完美,比如把什么标题栏做的非常好看了在继续做,因为谁也不能说一开始你想的就是多的,在后续制作过程中可能你就有了更好的灵感,最重要的是东西堆积的多了会给修改等方面带来问题,所以就和画画一样先找大的关系,大的框架,要做某一页,先把这一页划分块,然后在在那些块中去处理。

2)制作遇到的第一个问题是跨域问题,总结了几种解决的方案。详细请看axios跨域问题

3)数据拉取了有个地方比较坑,就是图片显示不了,原因就是为了防盗。知乎API返回的数据中的图片都是存储在知乎服务器上的url地址,直接请求会返回403,所以需要进行一些处理,使用Images.weserv.nl进行缓存图片,并在需要使用图片url的地方进行相应的替换。

attachImageUrl: function (srcUrl) {
  if (srcUrl !== undefined) {
    return srcUrl.replace(/http\w{0,1}:\/\/p/g, 'https://images.weserv.nl/?url=p')
  }
},
attachBodyContent: function (body) {
  if (body !== undefined) {
    return body.replace(/src="http\w{0,1}:\/\//g, 'src="https://images.weserv.nl/?url=')
  }
},
有些数据是直接拉的body,第二个是替换body中的图片的url

4)还有一个就是有些页面拉取数据时候把css样式也拉取来,拉来之后在退出当前页面的时候要记得删除那个样式,不然等你去浏览其他页的时候会发现原来的结构变了,刷新一下又好了,那就是那个样式在作怪。

5)此外要掌握一些组件,比如 mint-ui , muse-ui , element-ui等,这些东西很出效果,代码量小,很大的提高了开发效率看上去很多,但是知道了一个的原理,其他的看一眼就会了。

vue-知乎日志的更多相关文章

  1. 【vue入门】日志demo,增删改查的练习(无vuex版本)

    安装 1. 确定电脑已装node和npm 出现版本号则说明电脑已经安装好node和npm2. 创建一个基于webpack的项目   3. 在项目里安装依赖 4. 运行 配置路由为了动态渲染各个页面的组 ...

  2. Vue 踩坑日志 - 有关路由传参的坑

    1.有关路由传参 vue中当通过params传过去的参数刷新页面以后会消失,所以可以用query传参.但此时又会出现另一个坑,刷新后数据仍在.但这是针对单个的某个变量的. 如果传入一个对象的话,刷新页 ...

  3. vue知多少,你对vue的认识比别人高在哪?

    1.beforeCreated/created区别? beforeCreated钩子能干什么 2.data中使用props 3.get/set依赖收集 get收集依赖(观察者) set 观察者重新求值 ...

  4. ext3是对ext2文件系统的一个扩展高性能日志文件系统

    嵌入式开发者所做的最重要的决定之一就是部署哪种文件系统.有些文件系统性能比较高有些文件系统空间利用率比较高,还有一些文件系统设备故障或者意外断电后恢复数据比较方便. linux文件系统概念 分区 分区 ...

  5. 05-Vue入门系列之Vue实例详解与生命周期

    Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...

  6. vue学习笔记(四)——Vue实例以及生命周期

    1.Vue实例API 1.构造器(实例化) var vm = new Vue({ //选项 |-------DOM(3) |   |-------el (提供一个在页面上已存在的 DOM 元素作为 V ...

  7. 关于Kafka日志留存策略的讨论

    关于Kafka日志留存(log retention)策略的介绍,网上已有很多文章.不过目前其策略已然发生了一些变化,故本文针对较新版本的Kafka做一次统一的讨论.如果没有显式说明,本文一律以Kafk ...

  8. Vue之状态管理(vuex)与接口调用

    Vue之状态管理(vuex)与接口调用 一,介绍与需求 1.1,介绍 1,状态管理(vuex) Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态 ...

  9. 生命周期函数以及vue的全局注册

    beforeCreate 在创造实例之前 created 创造实例以后 beforeMount 在挂载前 render 渲染节点到页面上 //将虚拟dom数组渲染出来 mounted 挂载以后 bef ...

  10. Vue入门系列(五)Vue实例详解与生命周期

    Vue官网: https://cn.vuejs.org/v2/guide/forms.html#基础用法 [入门系列] (一)  http://www.cnblogs.com/gdsblog/p/78 ...

随机推荐

  1. Android ListView复制、删除的实现

    适配器MyAdapter: package com.zihao.adapter; import java.util.List; import com.zihao.popdemo.R; import c ...

  2. jq重复切换类名

    //重复切换类名"active"$(".probability-rules header").toggleClass("active");

  3. android的系统设置界面

    Intent 的 意图: Intent intent = new Inetnt(Setings); Setings:   1. ACTION_ACCESSIBILITY_SETTINGS : // 跳 ...

  4. DataS-2

    2.4 证明对任意常数k,(称此式为公式A) 证明: ①当k1<k2时,,因此只需证明正数对公式A成立: ②当k=0或1时,显然有和满足公式A: ③假设k<i (i>1)时,都满足公 ...

  5. Hadoop学习---CentOS中hadoop伪分布式集群安装

    注意:此次搭建是在ssh无密码配置.jdk环境已经配置好的情况下进行的 可以参考: Hadoop完全分布式安装教程 CentOS环境下搭建hadoop伪分布式集群 1.更改主机名 执行命令:vi  / ...

  6. openvpn(上)

    VPN概述:(全称Virtual Private Network)虚拟专用网络,是依靠ISP和其他的NSP,在公网中建立专用的数据通信网络的技术,可以为企业之间或者个人与企业之间提供安全的数据传输隧道 ...

  7. iotop使用详解

    iotop是top和iostat程序的混合体,能够显示系统中所有运行进程并将进程根据I/O统计信息排序. 这个软件使用了Linux内核的一些新特性,所以需要2.6.20或者更新的内核. 一般默认情况下 ...

  8. docker中自定ingress网络

    在某些时候,docker自动生成的ingress网络会与服务器上已经存在的网络产生冲突,这个时候,你需要自定义ingress. 在自定义前,你需要删除所有有端口发布的服务. 使用命令docker ne ...

  9. 【Asp.Net MVC】asp.net mvc Model验证总结及常用正则表达式

    转自:http://www.cnblogs.com/easy5weikai/p/3843131.html 关于Model验证官方资料: http://msdn.microsoft.com/zh-cn/ ...

  10. 用CI框架向数据库中实现简单的增删改查

    以下代码基于CodeIgniter_2.1.3版 用PHP向数据库中实现简单的增删改查(纯代码)请戳 http://www.cnblogs.com/corvoh/p/4641476.html Code ...