Vue框架简介

Vue是一套构建用户界面的框架, 开发只需要关注视图层, 它不仅易于上手,还便于与第三方库或既有项目的整合。是基于MVVM(Model-View-ViewModel)设计思想。提供MVVM数据双向绑定的库,专注于UI层面

 
vue设计思想

View就是DOM层,ViewModel就是通过new Vue()的实例对象,Model是原生js。开发者修改了DOM,ViewModel对修改的行为进行监听,监听到了后去更改Model层的数据,然后再通过ViewModel去改变View,从而达到自动同步。

Vue核心思想

1.数据驱动

 
数据驱动

数据驱动(数据双向绑定), 在Vue中,Directives对view进行了封装,当model中的数据发生变化时,Vue就会通过Directives指令去修改DOM,同时也通过DOM Listener实现对视图view的监听,当DOM改变时,就会被监听到,实现model的改变,从而实现数据的双向绑定。

2.组件化

组件化就是实现了扩展HTML元素,封装可用的代码。

1、页面上每个独立的可视/可交互区域视为一个组件。

2、每个组件对应一个工程目录,组件所需的各种资源在这个目录下就近维护。

3、页面不过是组件的容器,组件可以嵌套自由组合形成完整的页面

vue项目目录结构

 
目录结构

(加粗的常会修改到)

--build项目构建(webpack)相关代码

--config配置目录,包括端口号等。我们初学可以使用默认的。

--node_modulesnpm 加载的项目依赖模块

--src这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件:App.vue: 项目入口文件,我们也可以直接将组件写这里,而不使用 components 目录。main.js: 项目的核心文件。引用组件时需要修改。

--static静态资源目录,如图片、字体等。

--test初始测试目录,可删除

--.xxxx文件这些是一些配置文件,包括语法配置,git配置等。

--index.html首页入口文件,你可以添加一些 meta 信息或统计代码啥的。

--package.json项目配置文件。

--README.md项目的说明文档,markdown 格式

Vue项目构建命令

npm  install  安装项目依赖包

npm  run dev/npm  run  serve  启动项目

 
 

Vue常用命令

与写html页面一样,只是都是用组件。里面用到的<el-radio>就是elment-ui提供的组件。相当于<radio>按钮选择直接使用就可以,跟html里用法一样。

 
页面代码实例

数据展示命令:

v-html、v-show、v-if、v-for等等,例如v-for命令相当于html里的for循序遍历List中的数据,v-if命令相当于if判断满足条件执行,v-show相当于html里的disable参数。v-html将数据里定义的html页面赋值给view

数据绑定最常见的形式就是使用 {{变量名}}(双大括号)的文本赋值;变量即是后台返回的数据。

 
v-for命令

绑定按钮事件:

@click可以定义一个事件函数

 
定义事件

将事件写到methods包含的大括号内

 
定义事件

Vue路由(Vue-Router)

控制页面的局部跳转刷新,相当于MVC框架中的controller中的定义的@requestMapping注解配置跳转页面

路由配置文件在项目中的src目录下

 
路由在项目中的配置

Element-UI使用

项目集成

 
第一步引入依赖
 
 
第二步-main函数引入

使用方法同layui,使用比layui厉害

常用的组件总结:

<el-input>标签相当于input框;

<el-radio>标签相当于radio框;

<el-chekbox>标签相当于chekbox框;

<el-upload>标签相当于file上传文件;

<el-form>定义表单,<el-form-item>定义表单中的项;

<el-table></el-table>定义表格相当于table,<el-table-column>定义一行,相当于<td>,可以绑定数据,动态显示表格

总的来说,就是将原有的html标签封装了一遍,使用方法大同小异。例如:点击事件的定义不同

 
(表单实例代码如图)
 
(表单效果如上图)

Vue+ElementUI学习总结(转载)的更多相关文章

  1. Vue组件学习(转载)

    什么是组件:组件是Vue.js最强大的功能之一.组件可以扩展HTML元素,封装可重用的代码.在较高层面上,组件是自定义的元素,Vue.js的编译器为它添加特殊功能.在有些情况下,组件也可以是原生HTM ...

  2. spring boot + vue + element-ui全栈开发入门

    今天想弄弄element-ui  然后就在网上找了个例子 感觉还是可以用的  第一步是完成了  果断 拿过来  放到我这里这  下面直接是连接  点进去 就可以用啊 本想着不用vue   直接导入连接 ...

  3. VUE + ElementUI 从搭建到运行

    版权声明:本文为博主原创文章,欢迎转载,转载请注明作者.原文超链接 前言:本文简洁的描述VUE + ElementUI 从搭建到运行,可以根据本文先搭建出可运行的项目,然后再详细回顾每个步骤所做的事: ...

  4. spring boot + vue + element-ui全栈开发入门——基于Electron桌面应用开发

     前言 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并到同一个运行时环 ...

  5. vue+element-ui之tree树形控件有关子节点和父节点之间的各种选中关系详解

    做后端管理系统,永远是最蛋疼.最复杂也最欠揍的事情,也永远是前端开发人员最苦逼.最无奈也最尿性的时刻.蛋疼的是需求变幻无穷,如同二师兄的三十六般变化:复杂的是开发难度寸步难行,如同蜀道难,难于上青天: ...

  6. Vue + Element-ui实现后台管理系统(4)---封装一个ECharts组件的一点思路

    封装一个ECharts组件的一点思路 有关后台管理系统之前写过三遍博客,看这篇之前最好先看下这三篇博客.另外这里只展示关键部分代码,项目代码放在github上: mall-manage-system ...

  7. Vue + ElementUI 后台管理模板推荐

    最近学习和项目都用到了Vue和ElementUI,自己不是专业前端,搞这些UI上的东西还是有些难度,这里推荐两个Vue + ElementUI后台管理模板 vue-element-admin vue- ...

  8. Vue入门学习

    目录 Vue 简介 第一个Vue程序 Vue基本语法 双向绑定 组件 Axios异步通信 计算属性 Slot 自定义事件 第一个Vue-cli程序 webpack学习使用 Vue-Router路由 v ...

  9. vue入门学习(基础篇)

    vue入门学习总结: vue的一个组件包括三部分:template.style.script. vue的数据在data中定义使用. 数据渲染指令:v-text.v-html.{{}}. 隐藏未编译的标 ...

随机推荐

  1. Xcode 4.1实用小工具:模拟网络连接和带宽

    暂无评论 适用于Mac OS X Lion的开发套件Xcode 4.1中,有个新鲜的小工具叫做Network Link Conditioner(网络连接调节器),是一款具有高度可定制性的辅助工具,让用 ...

  2. shell编程连接postgres数据库(数据备份)

    第一步:通过xshell或者其他工具连接到linux服务, 第二步:创建一个脚本:touch se.sh 第三步:输入i,代表开始输入内容 输入以下命令: 脚本如下:(sql语句可以是任何复杂的sql ...

  3. 二、PHP链接mongodb

    <?php $db=new Mongo("mongodb://sa:sa@localhost:27017"); $c=$db->selectDB("TestD ...

  4. [论文理解] CapsuleNet

    CapsuleNet 前言 找了很多资料,终于把整个流程搞懂了,其实要懂这个运算并不难,难的对我来说是怎么用代码实现,也找了github上的一些代码来看,对我来说都有点冗长,变量分布太远导致我脑袋炸了 ...

  5. yum源相关

    yum软件仓库默认配置文件/etc/yum.conf,此文件定义了yum在线下载的rpm包存放位置及下载后是否保存. [root@localhost ~]# head /etc/yum.conf[ma ...

  6. golang 开源项目: 配置解析模块--config

    在golang中,配置文件经常使用json格式.json格式的语法,有些繁琐,尤其是出现嵌套的时候,每一块都需要大括号包裹,看起来很臃肿. 本着简单易用的原则,个人开发了一个配置解析模块config, ...

  7. css中相对定位和绝对定位

    相对定位: #box_relative { position: relative; left: 30px; top: 20px; } 绝对定位: #box_relative { position: a ...

  8. 关于在IDEA中使用maven projects 的Lifecycle中打包package报expected START_TAG or END_TAG not TEXT

    报错指定到maven本地仓库下的settings.xml某一行,如下列JDK配置: <profiles> <profile>    <id>jdk-1.8</ ...

  9. [Flask]jinja2渲染分页导航部件

    注意: 1.在视图函数中通过request.args.get('page')获取page数,并将page传给macros.html模板文件 效果: 点击8,就跳转到第8页数据了 视图函数 @app.r ...

  10. nodejs之express路由与动态路由

    1.快速创建express项目步骤 /** * 1.cd 到项目里面 * 2.npm init --yes 创建package.json文件 * 3.安装express * npm install e ...