<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-model="http://www.w3.org/1999/xhtml"
xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script type="text/javascript" src="static/js/vuejs-2.5.16.js"></script>-->
<script src="static/js/vuejs-2.5.16.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body> <!--
v-bind: 是vue中一个绑定属性的指令,可以简写为: v-bind:只能实现数据的单项绑定,只能从M绑定到V中,无法实现数据的双向绑定
v-on 可以简写为 @ 用于绑定事件 v-on : 事件 = “函数名” 简写 @事件=“函数名”
v-model:唯一一个实现双向数据绑定的命令 v-model只能运用在表单元素中,所谓表单元素是指:
select、input(text、email、adress、radio,checkbox)、textarea
-->
<!--mvvm中的v指的是这个html片段-->
<div id="app01">
<!-- v-text没有闪烁问题,但是v-text也会覆盖标签内部原本的内容。-->
<!-- 插值表达式只会替换自己的占位符,不会把整个标签内部的内容都清空-->
<h1>===={{msg}}=====</h1> <br> <!-- 差值表达式 ,把data中定义的数据显示到此处-->
<div v-text="msg">====</div><br>
<h3 v-html="result">==========</h3> <br> <!--可以解析html格式的内容。--> <input type="text" name="age" v-bind:value=" age+6"><br>
<!--v-bind: 是vue中一个绑定属性的指令,可以简写为:--> {{name}} <input type="text" name="name" v-model:value="name"> <br> <!--v-model:唯一一个实现双向数据绑定的命令-->
<button v-on:click="fun1">Vue的onClick事件</button> <br>
<button v-on:click="fun2('Vue 的参数 Vue')">Vue的onClick2事件</button> <br>
<button v-on:mouseover="fun3('皮卡丘')">点我啊</button> <br>
<button v-on:blur="fun4('皮卡丘失去焦点')">失去焦点</button> <br>
<button v-on:keydown="fun5('卡哇伊呀咿呀')">可爱</button> <br>
<!--=====================================================-->
<!--v-if和v-show是一样的,这是在隐藏的时候,v-show是通过给标签加display:none的样式完成的,而v-if是直接将元素去掉完成的-->
<p v-if="seen">当seen的属性为true 看见 ,false就看不见</p>
<p v-show="seen">v-show控制的语句</p>
<p v-for="key in list">{{key}}</p>
<p v-for="(key,index) in list">值为--->{{key}}---索引值为:--->{{index}}</p>
<p v-for="(key,index) in list1">值为--->{{key}}---索引值为:--->{{index}}</p>
<p v-for="(key,index) in lists">值为--->{{key}}---索引值为:--->{{index}}</p>
<p v-for="(val,key,index) in user">值为--->{{val}}---键为:--->{{key}}--->索引值为:--->{{index}}</p> <p v-for="count in 10"> this id the {{count}} times</p> <!--遍历数字的时候,默认从1开始--> </div> <script>
// mvvm中的vm: 就是指的这一部分
var vm =new Vue({
el:"#app01", //由Vue接管id为app的区域
// mvvm中的M:指的就是data对象
data:{
msg:"欢迎使用第一个vue!" , //注意:此处不要加分号
msg1:"",
result:"<h1 style='color: red'>这是个html标签的内容</h1>",
age:12 ,
name:"呆呆",
seen:false,
list:[1,2,3,4,5,6],
list1:[
{id:1,name:"呆呆",age:10},
{id:2,name:"敏敏",age:11},
{id:3,name:"小呆呆",age:12},
{id:4,name:"可爱敏",age:13},
{id:5,name:"机智呆",age:14}
],
lists:[],
user:{
id:1,
name:"呆呆",
age:18 }
},
mounted:function(){
var _this = this
axios.get('emp/list').then(
function (result) {
_this.lists=result.data;
}
).catch(
function (error) {
});
},
methods:{
fun1:function () {
alert("大家好,这是我的第一个vue方法!!")
},
fun2:function (msg1) {
alert("大家好,这是带参的vue");
this.msg=msg1;
alert(msg1);
alert(this.age); //在方法中可以直接引用data中的数据
// 在vm实例中,要想获取data中的数据或者methods中的方法,必须通过this.属性名或者this.方法名的方式调用,
// 这里的this就表示我们new 出来的VM实例对象
},
fun3:function (msg2) {
alert(msg2);
},
fun4:function (msg3) {
alert(msg3);
},
fun5:function (msg4) {
alert(msg4);
},
}
});
</script> </body>
</html>

vue 2.进阶

<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-model="http://www.w3.org/1999/xhtml"
xmlns:v-on="http://www.w3.org/1999/xhtml">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script type="text/javascript" src="static/js/vuejs-2.5.16.js"></script>-->
<script src="static/js/vuejs-2.5.16.js"></script>
<script type="text/javascript" src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script>
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script> </head>
<body> <div id="app01">
<!--添加-->
<el-dialog title="添加员工" :visible.sync="dialogFormVisible">
<el-form :model="form">
<el-form-item label="员工id" :label-width="formLabelWidth">
<el-input v-model="form.eid" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="员工姓名" :label-width="formLabelWidth">
<el-input v-model="form.ename" auto-complete="off"></el-input>
</el-form-item>
<el-form-item label="员工年龄" :label-width="formLabelWidth">
<el-input v-model="form.eage" auto-complete="off"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogFormVisible = false">取 消</el-button>
<el-button type="primary" @click="confirm">确 定</el-button>
</div>
</el-dialog>
<!-- <p v-for="key in list">id 为:{{key.eid}}&ndash;&gt;值为:&ndash;&gt;{{key.ename}}&ndash;&gt;</p>-->
<div style="margin-left: 400px;">
<el-button type="primary"style="margin: 10px 250px ;" @click="add">添加员工</el-button>
<el-table
v-bind:data="list"
style="width: 60%;"
:stripe="true"
:border="flag">
<el-table-column
prop="eid"
label="EID"
align="center">
</el-table-column>
<el-table-column
prop="ename"
label="姓名"
align="center">
</el-table-column>
<el-table-column
prop="eage"
align="center"
label="年龄">
</el-table-column>
<el-table-column
fixed="right"
label="操作"
align="center"
width="100">
<template slot-scope="scope">
<el-button @click="deleteItem(scope.row.eid)" type="text" size="small">删除</el-button>
<el-button type="text" size="small" @click="editItem(scope.row)">编辑</el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<div style="margin-right: 400px;">
<el-pagination
background
layout="prev, pager, next"
:page-size="pageSize"
align="center"
:pageSize="pageSize"
:current-page="pageNum"
@current-change="changeNum"
:total="total">
</el-pagination>
</div>
</div> </div> <script>
// mvvm中的vm: 就是指的这一部分
var vm =new Vue({
el:"#app01", //由Vue接管id为app的区域
data:{
list:[],
total:5,
pageSize:3,
pageNum:1,
flag:true,
pageSize:2,
dialogFormVisible:false,
form:{
eid:'',
ename:'',
eage:''
},
formLabelWidth: '120px'
},
methods:{
editItem:function(item){
this.dialogFormVisible=true;
this.form.eid=item.eid;
this.form.ename=item.ename;
this.form.eage=item.eage; },
deleteItem:function(eid){
alert(eid);
var _this = this;
axios.delete("emp/del/"+eid).then(
function (result) {
if (result.data.map.statusCode==200){
_this.$message({
message: '删除成功',
type: 'success'
});
_this.fenye("emp/list",_this);
}
}).catch(function (reason) { })
},
confirm:function(){
var _this =this;
if (this.form.eid == ''){
axios.post("emp/saveInfo",this.form).then(
function (result) {
if(result.data.map.statusCode==200){
_this.dialogFormVisible=false;
_this.fenye("emp/list",_this);
}
}
).catch(function (reason) {
alert("失败")
});
} else {
alert("1111111111");
axios.put("emp/update",_this.form).then(
function (result) {
if(result.data.map.statusCode==200){
_this.dialogFormVisible=false;
_this.fenye("emp/list",_this);
}
}
).catch(function (reason) {
alert("失败")
});
} },
add:function(){
this.dialogFormVisible=true;
},
changeNum:function (num) {
var _this = this;
this.fenye('emp/list',_this);
},
fenye:function (url,_this) {
axios.get(url).then(
function (result) {
_this.list=result.data;
}
).catch(function (error) { });
}
},
mounted:function(){
var _this = this;
this.fenye('emp/list',_this);
}
});
</script> </body>
</html>

Vue示例教程的更多相关文章

  1. vue入门教程 (vueJS2.X)

    vue入门教程vueJS2.X 写在前面 看完此教程可以达到:能看懂并能修改简单的vue项目. 看的过程中,请把所有例子都放到html文件中跑一遍. Vue.js 是什么 Vue.js(读音 /vju ...

  2. wepack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  3. wepack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  4. wepack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

  5. ASP.NET MVC 基于角色的权限控制系统的示例教程

    上一次在 .NET MVC 用户权限管理示例教程中讲解了ASP.NET MVC 通过AuthorizeAttribute类的OnAuthorization方法讲解了粗粒度控制权限的方法,接下来讲解基于 ...

  6. [js高手之路] vue系列教程 - 事件专题(4)

    本文主要讲解事件冒泡,事件绑定的简写,事件默认行为,按键码等一系列与事件相关的知识. 一.事件绑定的简写,@事件类型.  之前我的[js高手之路] vue系列教程 - vue的事件绑定与方法(2) 用 ...

  7. webpack+sass+vue 入门教程(三)

    十一.安装sass文件转换为css需要的相关依赖包 npm install --save-dev sass-loader style-loader css-loader loader的作用是辅助web ...

  8. webpack+sass+vue 入门教程(二)

    六.新建webpack配置文件 webpack.config.js 文件整体框架内容如下,后续会详细说明每个配置项的配置 webpack.config.js直接放在项目demo目录下 module.e ...

  9. webpack+sass+vue 入门教程(一)

    一.安装node.js node.js是基础,必须先安装.而且最新版的node.js,已经集成了npm. 下载地址 node安装,一路按默认即可. 二.全局安装webpack npm install ...

随机推荐

  1. shell sed应用

    sed是一个很好的文件处理工具,本身是一个管道命令,主要是以行为单位进行处理,可以将数据行进行替换.删除.新增.选取等特定工作,下面先了解一下sed的用法sed命令行格式为:sed [-nefri] ...

  2. Unknown class xxx in Interface Builder file. / NSUnknownKeyException

    Error: 2019-11-24 22:16:01.047997+0800 SingleViewDemo[22576:34699748] Unknown class FeedbackCell in ...

  3. P2239 螺旋矩阵

    P2239 螺旋矩阵 题解 这题看上去是个暴力,但是你看数据范围啊,暴力会炸 实际上这是一道数学题QWQ 先看看螺旋矩阵是个什么亚子吧 好吧,找找规律 1 2 ... ... ... ... ... ...

  4. 1.3 Junit4简介

    1.Junit4框架 可用于单元测试,直接测试类中的方法 2.简单实用 a.导入Junit的jar包 b.熟悉Junit的执行顺序 c.写测试用例 d.利用断言,找bug 3.demo public ...

  5. <table>表格与jqGrid

    第一次写博客比较生涩.接下来进入正题:...... 普通表格前端的增删改查. <%@ page language="java" contentType="text/ ...

  6. ubuntu中将本地文件上传到服务器

    (1)在本地的终端下,而不是在服务器上.在本地的终端上才能将本地的文件拷入服务器. (2) scp -r localfile.txt username@192.168.0.1:/home/userna ...

  7. Python实现打印螺旋矩阵功能的方法

    Python实现打印螺旋矩阵功能的方法 本文实例讲述了Python实现打印螺旋矩阵功能的方法.分享给大家供大家参考,具体如下: 一.问题描述 输入N, 打印 N*N 螺旋矩阵 比如 N = 3,打印: ...

  8. unieap 建库

    create tablespace unieap datafile 'unieap.dbf' size 100M reuse autoextend on next 50M;1. 2.drop user ...

  9. NOIP2013提高问题求解T2(关于递推与递归)

    同步发表于我的洛谷博客. NOIP2013提高问题求解2: 现有一只青蛙,初始时在n号荷叶上.当它某一时刻在k号荷叶上时,下一时刻将等概率地随机跳到1,2,--,k号荷叶之一上,直到跳到第1号荷叶为止 ...

  10. [开发技巧]·pandas如何保存numpy元素

    [开发技巧]·pandas如何保存numpy元素 ​ 1.问题描述 在开发的过程中遇到一个问题,就是需要把numpy作为pandas的一个元素进行保存,注意不是作为一列元素.但是实践的过程中却不顺利, ...