vue-知乎日志
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-知乎日志的更多相关文章
- 【vue入门】日志demo,增删改查的练习(无vuex版本)
安装 1. 确定电脑已装node和npm 出现版本号则说明电脑已经安装好node和npm2. 创建一个基于webpack的项目 3. 在项目里安装依赖 4. 运行 配置路由为了动态渲染各个页面的组 ...
- Vue 踩坑日志 - 有关路由传参的坑
1.有关路由传参 vue中当通过params传过去的参数刷新页面以后会消失,所以可以用query传参.但此时又会出现另一个坑,刷新后数据仍在.但这是针对单个的某个变量的. 如果传入一个对象的话,刷新页 ...
- vue知多少,你对vue的认识比别人高在哪?
1.beforeCreated/created区别? beforeCreated钩子能干什么 2.data中使用props 3.get/set依赖收集 get收集依赖(观察者) set 观察者重新求值 ...
- ext3是对ext2文件系统的一个扩展高性能日志文件系统
嵌入式开发者所做的最重要的决定之一就是部署哪种文件系统.有些文件系统性能比较高有些文件系统空间利用率比较高,还有一些文件系统设备故障或者意外断电后恢复数据比较方便. linux文件系统概念 分区 分区 ...
- 05-Vue入门系列之Vue实例详解与生命周期
Vue的实例是Vue框架的入口,其实也就是前端的ViewModel,它包含了页面中的业务逻辑处理.数据模型等,当然它也有自己的一系列的生命周期的事件钩子,辅助我们进行对整个Vue实例生成.编译.挂着. ...
- vue学习笔记(四)——Vue实例以及生命周期
1.Vue实例API 1.构造器(实例化) var vm = new Vue({ //选项 |-------DOM(3) | |-------el (提供一个在页面上已存在的 DOM 元素作为 V ...
- 关于Kafka日志留存策略的讨论
关于Kafka日志留存(log retention)策略的介绍,网上已有很多文章.不过目前其策略已然发生了一些变化,故本文针对较新版本的Kafka做一次统一的讨论.如果没有显式说明,本文一律以Kafk ...
- Vue之状态管理(vuex)与接口调用
Vue之状态管理(vuex)与接口调用 一,介绍与需求 1.1,介绍 1,状态管理(vuex) Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式.它采用集中式存储管理应用的所有组件的状态 ...
- 生命周期函数以及vue的全局注册
beforeCreate 在创造实例之前 created 创造实例以后 beforeMount 在挂载前 render 渲染节点到页面上 //将虚拟dom数组渲染出来 mounted 挂载以后 bef ...
- Vue入门系列(五)Vue实例详解与生命周期
Vue官网: https://cn.vuejs.org/v2/guide/forms.html#基础用法 [入门系列] (一) http://www.cnblogs.com/gdsblog/p/78 ...
随机推荐
- Android菜单(动画菜单、360波纹菜单)
Android菜单(动画菜单.360波纹菜单) 前言:Android菜单常用集合:FragmentTabHost系统菜单.上移式菜单.360波纹菜单.展开式菜单.详解注释,可直接拿来用! 效果: ...
- Js 对Dom的操作
一.DOM的概述 DOM(Document Object Model,文档对象模型)描绘了一个层次化的节点树,允许开发人员添加.移除和修改页面的某一部分.这使得JavaScript操作HTML,不是在 ...
- windows 64位 安装mvn提示 不是内部或外部命令
在安装mvn的过程中当在mvn的目录下去执行mvn命令的时候是可以正常执行的,当设置好环境变量后执行后发现提示mvn不是内部命令. 原因是设置的MAVEN_HOME变量未被Path解析,解决办法是 直 ...
- git rebase --onto详解
https://blog.pivotal.io/labs/labs/git-rebase-onto http://www.cnblogs.com/rickyk/p/3848768.html
- CASE表达式
一.简介 官方定义CASE是一种表达式,它基于某种格式,按照格式去编写表达式,其中表达式的逻辑是:指定特定的值与条件列表去匹配,返回对应的值. CASE表达式类似我们编程语言中的 if else 和 ...
- Python初学者第二天 用户输入和注释
2day Python基础语法: 1.用户输入和注释 用户输入: 代码注释:# 注释部分不会被执行,或用来帮助理清代码逻辑 2.数据类型:数字 int:整数 long:长整形 注:Pyt ...
- Python学习---内置函数的学习
内置函数 [Py3.5官方文档]https://docs.python.org/3.5/library/functions.html#abs Built-in Functions abs() dict ...
- js笔记 标签: javascript 2016-08-01 13:30 75人阅读 评论(0) 收藏
typeof可以用来检测给定变量的数据类型,typeof是一个操作符而不是函数,所以圆括号可以省略. Undefined类型只有一个值,即特殊的undefined.在使用var声明变量但未对其加以初始 ...
- [工具教程] HBuilder调试夜神安卓模拟器方法(该方法真实有效)
HBuilder调试夜神安卓模拟器方法 现在开发手机app的IDE很多,今天我就以我个人开发使用的HBuider开发工具讲一下手机app开发调试.HBuider支持真机调试,这个比较简单,只要安装好手 ...
- ASP.NET Web API编程——异常捕获
1 向客户端发送错误消息 使用throw new HttpResponseException()向客户端抛出错误信息. HttpResponseException包含两个重载的构造函数,其中一个是构造 ...