首个vue.js项目收尾中……
前言:
4.26号入手vue.js+elementUI,迄今为止我们的工作应该可以暂时告一段落了;下周开始,又是新的“征程”。
过程:站在接近完成的角度来看这个项目,似乎的确有许多事情需要自己阐述。
关于连接数据库
初次vue.js的时候,还以为可以通过什么“手段”像使用thinkjs一样直接连接到数据库,于是不知道从哪里看见的“Vue2.0之后,vue-resource停止更新,原因是Vue2.0开始,他们想更专注于View层,所以网络部分就不再维护,并且axios支持服务端渲染,各方面比resource更好,故推荐使用axios”(之前的确在哪里看见过,可是今天找了很久,也没有发现在官网哪里,但是事实的确如此吧!暂不纠结这个了,因为我们的项目中并没有使用它,但还是附上axios文档地址:https://github.com/mzabriskie/axios);简言之:使用vue.js的时候,需要另外一个“工具“来辅助它请求服务器端;
我们采取的做法便是将前后端分离,均采用nodejs,一个专门写接口,将前台需要的数据组织好(使用hprose:http://www.hprose.com/index.html);一个专门写页面(使用vue.js2.0:https://cn.vuejs.org/以及elementui:http://element.eleme.io/#/zh-CN);
使用vue+elementui的例子:
https://github.com/taylorchen709/vue-admin,整个项目结构也是跟整个相同,于是在实际使用过程中就出现了很多“意想不到”的问题
1.首先是关于静态文件的引入
需要在项目的根目录下,新建一个static的文件夹,图片放在static/img文件夹底下,样式文件放在static/css文件夹底下,具体使用:
图片引用:'/static/img/xxx.png';
css引用:@import '/static/css/xxx.css';
2.关于路由权限的问题
可以参考http://www.cnblogs.com/zhengyeye/p/6908159.html这里所描述的试试;
3.登录页底下添加备注

需要login页面底部栏添加一行备注,起初的做法是在login.vue页面写代码,但是最终发现总是报错,最终原来发现了底部栏信息是写在App.vue中的:
<template>
<div id="app">
<router-view></router-view>
<footer>
<div style="font-size: 14px !important;text-align: center !important;color: #c1c8d1">
提示:这里是备注信息
</div>
</footer>
</div>
</template>
下面便是修改后的效果:

4.关于dialog或者button绑定属性或者显示值的若干问题
1)dialog:后台管理系统中,免不了新增或者编辑的弹框,简洁之便可以使用同一个dialog,于是就出现了

<el-dialog v-model="FormVisible" :close-on-click-modal="false" v-bind:title="title" style="width: 760px;margin: 0 auto;">
...
</el-dialog>
只需要使用v-bind,绑定dialog的title属性即可;同理适用于butoon中:
<el-button v-bind:type="showType" size="small" @click="handleEdit(scope.$index, scope.row)" v-text="showFont"></el-button>
这样的话,我们就可以“随心所欲”的使用一个变量来控制button想样式以及回显的字了,但是记得显示字需要用v-text,简单记:
v-bind:绑定的是属性;v-text:绑定的是文字;
5.分页组件
elementui提供了一套现成的分页组件(http://element.eleme.io/#/zh-CN/component/pagination),但是我们在使用过程中却出现了一个问题:当我们先点击分页信息,再点击页面上部的搜索条件的时候,分页组件始终停留在之前的分页数字上面,究其原因原来是绑定的row和page的值不太正确,于是在每次点击“搜索”的时候,就让this.page=1就行;
<el-col :span="24" class="toolbar" >
<el-pagination style="float: right"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="page"
:page-sizes="[25, 50, 100, 250]"
:page-size="rows"
layout="total,sizes,prev,pager,next,jumper"
:total="total">
</el-pagination>
</el-col>
6.多个input绑定同一个change事件
需求:同时监听多个input的change事件
<input type="text" value="value" @change="mychange($event)"/>
mychange (e) {
console.log(e.target.value)
this.value = e.target.value
}
由于input的change事件只传一个一个参数,而这里需要对多个input进行判断区分,于是自己就在change方法中增加了一个参数:index
<input type="text" value="value" @change="mychange($event,1)"/>
mychange(e,index){
//需要处理的逻辑
}
这样就可以区分多个input,进行其他操作了。
后言:
其实整个项目遇见的问题不仅于此,更多的感觉便是自己处理问题的办法总是太少,不够得当。不过Becauser of like,I love it more tan before,相信以后应该会好点吧~
收拾收拾,下班回家。迎接下周新工作了。
首个vue.js项目收尾中……的更多相关文章
- vscode下面开发vue.js项目
vscode下面开发vue.js项目 https://blog.csdn.net/linzhiqiang0316/article/details/79176651 vscode下面开发vue.js ...
- vue.js项目构建
这里构建的vue.js项目依赖node服务器运行. 项目搭建完整步骤: 安装node.js ,转至nodeJs网站http://nodejs.cn/ 下载nodeJs进行安装. 安装完毕检查nodeJ ...
- vue.js项目安装
Vue.js 安装 NPM 方法安装vue.js项目 npm 版本需要大于 3.0,如果低于此版本需要升级它: # 查看版本 $ npm -v 2.3.0 #升级 npm npm install np ...
- 建立多页面vue.js项目
介绍 根据需求,我们希望建立一个多页面的vue.js项目,如何改造单页面vue.js项目为多页面项目?跟着我的步伐看下去吧. 1.创建单页面vue.js项目 简单的记录一下创建步骤: --安装cnpm ...
- 坑!vue.js在ios9中失效
坑!vue.js在ios9中失效! 接到实现,在移动端生成一个分享链接,分享到微信,在微信中打开,加入! 好,用vue实现----------------------->写代码--------- ...
- 如何把vue.js项目部署到服务器上
如何把vue.js项目部署到服务器上面,我用的是tomcat服务器 1-改一下config/index.js文件,如下图,把assetsPublicPath: './', productionSour ...
- Vue.js项目的开发环境搭建与运行
写作背景:手上入一个用Vue框架写的微信公众号项目,根据公司安排,我负责项目源代码的验收工作(当然专业的工作检测会交给web开发人员,我只是想运行起来看一看). 1 开发环境安装步骤: (一)安装no ...
- 添加谷歌拓展程序 vue.js devtools过程中的问题
在用vue做项目过程中,需要用到vue.js devtools,在从github上面clone下来代码,然后再npm install ,过程报错,然后更新npm包也是会有问题,以下是install的问 ...
- 如何将你的 Vue.js 项目部署在云开发静态托管之上
云开发静态托管是云开发提供的静态网站托管的能力,静态资源(HTML.CSS.JavaScript.字体等)的分发由腾讯云对象存储 COS 和拥有多个边缘网点的腾讯云 CDN 提供支持. 在云开发静态托 ...
随机推荐
- redis 安装 检测是否安装命令
0: 安装redis服务: # wget http://download.redis.io/releases/redis-3.2.6.tar.gz# tar xzf redis-3.2.6.tar.g ...
- tomcat架构分析(概览)
出处:http://gearever.iteye.com Tomcat是目前应用比较多的servlet容器.关于tomcat本身的特点及介绍,网上已经有很多描述了,这里不再赘述.Tomcat除了能够支 ...
- R ggplot2 线性回归
摘自 http://f.dataguru.cn/thread-278300-1-1.html library(ggplot2) x=1:10y=rnorm(10)a=data.frame(x= x, ...
- C陷阱与缺陷的学习笔记
1用单引号括起的字符实际代表一个整数,整数值对应于该字符在编译器中采用的字符集对应的序列值:双引号括起的字符串,代表的是一个指向无名数组起始字符的指针,该数组被双引号之间的字符和‘\0’初始化.对于' ...
- 7款基于jquery的动画搜索框
无论是电商网站,还是媒体网,还是个人博客,每个网站都有属于自己个性化的搜索框.今天小编给大家带来7款基于jquery的动画搜索框.每个搜索框都采用了动画效果,一起看下效果图吧. 在线预览 源码下载 ...
- Linux 进程间通信(posix消息队列 简单)实例
Linux 进程间通信(posix消息队列 简单)实例 详情见: http://www.linuxidc.com/Linux/2011-10/44828.htm 编译: gcc -o consumer ...
- 多线程中的synchronized小结
1.synchronized是Java中的关键字,是一种同步锁.它修饰的对象有以下几种: 1. 修饰一个代码块,被修饰的代码块称为同步语句块,其作用的范围是大括号{}括起来的代码,作用的对象是调用这个 ...
- Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 4122 compliant UUID values;
项目部署,启动过程中有以下警告: [WARN]: Using org.hibernate.id.UUIDHexGenerator which does not generate IETF RFC 41 ...
- Windoows窗口程序二
WNDCLASS属性style取值: CS_GLOBALCLASS--应用程序全局窗口类 CS_BYTEALIGNCLIENT--窗口客户区的水平位置8倍数对齐 CS_BYTEALIGNWINDOW- ...
- 关于Struts2的jsp页面的注释
语句就算用<!-- -->注释后,还是会在编译的时候显示在网页上,而且网页还会报错,因为注释的那些语句也会去编译,也会去检查有没有错误,所以一些注释掉的过时的变量和方法也会导致报错.500