Vue(day8)
继续上一篇文章的内容,本文主要内容为项目中新闻资讯
模块的实现。
新闻资讯页面主要是当我们点击这个按钮时跳转到新闻列表界面。
一、新闻资讯的路由设计
将新闻资讯的标签改为路由:(a标签改为router-link)。
home.vue
<li class="mui-table-view-cell mui-media mui-col-xs-4 mui-col-sm-4">
<router-link to="/home/newsList">
<span class="mui-icon mui-icon-extra mui-icon-extra-new"></span>
<div class="mui-media-body">News</div>
</router-link>
</li>
然后新建一个news.vue
单文件组件用于显示新闻列表,并配置到router.js
文件中。
二、新闻资讯的页面设计
1、搭建Node服务器用于返回我们需要的页面数据
现在我们的新闻资讯页面时写死的,实际的场景应该是从后台服务器中动态获取,我们可以自己编写一个简单的Node搭建的本地服务器用于满足我们的基本页面数据需求。
这个Node+Express简单搭建的服务器已上传至github
,可自行下载运行,运行前先npm install
一下。然后就可以使用了。点击这里访问
值得注意的问题:
由于是项目本身和服务器是两个不同的域名,存在跨域问题。可使用
jsonp
的方式进行数据传输,也可以设置header来允许跨域访问:res.header('Access-Control-Allow-Origin', '*');
使用的是
vue-resource
获取数据。
其他细节问题代码中均有注释,这里不再赘述。
2、其它问题
全局配置
Vue.http.options.root
设置请求的根路径,但是注意请求时路径的写法,如:
//错误的写法:如果这样写请求的根路径为当前域名
this.$http.get('/getNewsList').then( result => { })
//正确的写法
this.$http.get('getNewsList/').then( result => { })
scoped
配置下的style有时候无法产生效果,就算加上!important
标识也无法正常渲染,所以我们常常不再使用scoped
属性,但这样容易污染全局样式,所以我们需要模仿scoped
属性的实现原理,手动为组件根元素命名一个类作为标识,然后样式都在改标志下进行全局渲染即可。例如新闻详情页的组件代码如下://在根元素增加一个newsInfo类名作为标识
<div class="newsInfo">
<h3 class="title"> {{newsInfo.title}} </h3>
<p class="subtitle">
<span>发表时间:{{newsInfo.createTime}}</span>
<span>浏览量:{{newsInfo.views}}</span>
</p>
<hr />
<div class="content" v-html="newsInfoHtml">
fsafs
fasfdsdafsadf
sadf
</div>
</div>
然后我们的css属性就可以改为全局样式而不用顾虑污染的情况。
这里我们可以使用
scss
语法进行样式书写,更为清晰(需要安装scss对应的loader并配置,请参考这里):<style lang="scss">
.newsInfo{
.title {
text-align: center;
color: #d02121;
}
.subtitle{
color: #03A9F4;
display: flex;
justify-content: space-between;
padding: 5px;
}
.content{
padding: 5px;
}
img {
width: 100%;
}
.error {
color: #FF1313;
}
}
</style>
3、效果一览
Vue(day8)的更多相关文章
- vue day8 table page
@{ ViewBag.Title = "Home Page"; Layout = null; } <!DOCTYPE html> <html> <he ...
- Vue入门到精通
Vue.js - Day1 课程介绍 前5天: 都在学习Vue基本的语法和概念:打包工具 Webpack , Gulp 后5天: 以项目驱动教学: 什么是Vue.js Vue.js 是目前最火的一个前 ...
- Vue.js 和 MVVM 小细节
MVVM 是Model-View-ViewModel 的缩写,它是一种基于前端开发的架构模式,其核心是提供对View 和 ViewModel 的双向数据绑定,这使得ViewModel 的状态改变可以自 ...
- wepack+sass+vue 入门教程(三)
十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...
- wepack+sass+vue 入门教程(二)
六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...
- wepack+sass+vue 入门教程(一)
一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...
- Vue + Webpack + Vue-loader 系列教程(2)相关配置篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ 使用预处理器 在 Webpack 中,所有的预处理器需要和一个相应的加载器一同使用.vue- ...
- Vue + Webpack + Vue-loader 系列教程(1)功能介绍篇
原文地址:https://lvyongbo.gitbooks.io/vue-loader/content/ Vue-loader 是什么? vue-loader 是一个加载器,能把如下格式的 Vue ...
- 关于Vue.js 2.0 的 Vuex 2.0,你需要更新的知识库
应用结构 实际上,Vuex 在怎么组织你的代码结构上面没有任何限制,相反,它强制规定了一系列高级的原则: 应用级的状态集中放在 store 中. 改变状态的唯一方式是提交mutations,这是个同步 ...
随机推荐
- 由HashMap哈希算法引出的求余%和与运算&转换问题
1.引出问题 在前面讲解HashMap 的源码实现时,有如下几点: ①.初始容量为 1<<4,也就是24 = 16 ②.负载因子是0.75,当存入HashMap的元素占比超过整个容量的75 ...
- Java面试题之对static的理解
1.静态变量 类型说明符是static.2.静态变量属于静态存储方式,其存储空间为内存中的静态数据区(在 静态存储区内分配存储单元),该区域中的数据在整个程序的运行期间一直占用这些存储空间(在程序整个 ...
- 解决vi上下左右变ABCD问题
第一步执行sudo apt-get install vim,如果没有出现错误,再次进入vi 尝试一下,看看有没有修改过来,如果出现以下错误E: Package 'vim' has no insta ...
- 查看centos系统位数和强制关闭yum
一个小命令查看centos 是什么多少位系统 getconf LONG_BIT 方法二: [root@linuxzgf ~]#uname -m 如果有x86_64就是64位的,没有就是32位的后面是X ...
- Java 学习笔记 (二) Selenium WebDriver Java 弹出框
下面这段实例实现了以下功能: 1. profile使用用户本地电脑上的 (selenium 3有问题.因为selenium 3把profile复制到一个temp文件夹里,但并不复制回去.所以每次打开仍 ...
- 【Dp】Bzoj1296 [SCOI2009] 粉刷匠
Description windy有 N 条木板需要被粉刷. 每条木板被分为 M 个格子. 每个格子要被刷成红色或蓝色. windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色. 每个 ...
- codeForces 472D 最小生成树
题目大意:给出一个图中点的两两距离,问是否是一棵树,若是,求出平均边权最大的点 prim最小生成树,若原图是树,则最小生成树的距离就是原距离.否则不是. 搞出来树了,第二问随便dfs就好了. #inc ...
- MVC动态绑定下拉框
Controller: //获取下拉信息表 //_vendorsAppService.GetAllObj() 是获取下拉列表结果集 ViewData["vendlist"] = n ...
- DCGAN 代码简单解读
之前在DCGAN文章简单解读里说明了DCGAN的原理.本次来实现一个DCGAN,并在数据集上实际测试它的效果.本次的代码来自github开源代码DCGAN-tensorflow,感谢carpedm20 ...
- 部署Chart应用并使用.net core读取Kubernetes中的configMap
上一篇文章讲了 k8s使用helm打包chart并上传到腾讯云TencentHub,今天就讲一下使用Helm部署应用并使用configMap代替asp.net core 中的appsettings.j ...