Vue的简单使用

第一个Vue程序

1.导入开发版本Vue.js

<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>

2.使用简洁的模板语法把数据渲染到页面上
{{ }}的作用是和下面的数据联系起来

<div id="app">
  {{ message }}
</div>

3.创建Vue实例对象,设置el属性和data属性

var app= new Vue({
	el:"#app",
	data:{
		message:"Hello Vue!"
	}
})
</script>

el:挂载点

el的作用范围 :

在这里插入图片描述

在其外部的时候无效
在其内部的时候有效
在这里插入图片描述

el的其它类型选择器

el:“#app” id 选择器
el: “.app” 类选择器
el “div” 标签选择器

data:数据对象

复杂数据的渲染

<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		message:"Hello Vue!",
		school:{
			name :"临沂大学",
			mobile:"110-119-120"
		},
		campus:["临沂校区","费县校区","沂水校区"]
	}
})
</script>

对象类型数据的渲染

  {{school.name}}  
  {{school.mobile}}  

数组类型数据的渲染

 {{campus[0]}}
  {{campus[1]}}
  {{campus[2]}}

在这里插入图片描述

Vue指令

<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		message:"Hello Vue!"	
	}
})
</script>

v-text :设置标签的文本值

<div  id ="app">
  <h2 v-text="message"></h2>
  <h2>对你说:{{message}}</h2>
</div>
<!--也可以进行拼接哦-->
<div  id ="app">
  <h2 v-text="message+'!!!'"></h2>
  <h2>对你说:{{message+"!!!!"}}</h2>
</div>

其中第一种写法会把整个标签中的值替换为message中的值 所以一般我们使用第二种

v-html 设置标签的innerHTML属性
若要渲染的数据文本的话和v-text标签没区别 但要是html结构则不同

<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		message:"<a href='#'>我是超链接</a>"	
	}
})
</script>
<div  id ="app">
  <h2 v-html="message"></h2>
</div>

在这里插入图片描述

v-on为元素绑定事件
其中v-on 可以替换成 @ 符号

<script type="text/javascript">
var app= new Vue({
	el:"#app",
    methods:{
    	dolt:function(){
    		alert("触发事件");
    	}
    }
})
</script>
<div  id ="app">
      <input type="button" value="事件绑定1" v-on:click="dolt">
      <input type="button" value="事件绑定3" @dblclick="dolt"><!-- 双击事件 -->
</div>

在这里插入图片描述

在vue里面获取data 中的值并修改

<h2 @click="dolt">{{food}}</h2>
<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		food: "西兰花炒蛋"
	},
    methods:{
    	dolt:function(){
    		this.food+="好好吃"
    	}
    }
})
</script>

v-show 根据表达值的真假,切换元素的显示和隐藏

例子 点击按钮显示隐藏图片

设置按钮 绑定单击事件 设置 图片并且设置一个值为false 在 data中

<div  id ="app">
  <input type="button" @click="changeIsShow" value="切换显示状态"> 
  <img  v-show="isShow"  src="人生.jpg">
</div>

1.给 isShow 设置初始值为false 也就是默认不显示
2.设计一个方法让点击时isShow的值改变

<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		isShow:false
	},
	methods:{
         changeIsShow:function(){
        	 this.isShow=!this.isShow;       		 
         }
	}

})
</script>

**加粗样式**
在这里插入图片描述
也可以有条件判断

v-if 根据表达式的真假,切换元素的显示和隐藏(操纵dom元素)

<div  id ="app">
<p v-if="isShow">你好小狗狗</p>
<button @click="changeIsShow">切换显示</button>
</div>
<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		isShow:false
	},
	methods:{
         changeIsShow:function(){
        	 this.isShow=!this.isShow;       		 
         }
	}

})
</script>

在这里插入图片描述
在这里插入图片描述
也可以加上判断

<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		isShow:false,
		wendu :25,
	},
	methods:{
         changeIsShow:function(){
        	 this.isShow=!this.isShow;       		 
         },
	       addWendu:function(){
	    	   
	    	   this.wendu++;
	       }
	 
	}

})
<div  id ="app">
<p v-if="isShow">你好小狗狗</p>
<p v-if="wendu>=30">小狗狗热死了</p>
<button @click="changeIsShow">切换显示</button>
<button @click="addWendu">升温了</button>
</div>

在这里插入图片描述
v-bind设置元素的属性
在这里插入图片描述
其中 :前面的v-bind可以省略
在这里插入图片描述
在这里插入图片描述
也可以不使用三元表达式
在这里插入图片描述
v-for 根据数据生成列表结构
其中这里的v-for卸载了li标签中说明要循环生成li标签 item是每一项的值可以随变命名 in 不能改 arr 是你要遍历的东西
也可以显示索引

<li v-for="(item,index) in arr">
<div  id ="app">
<ul>
	<li v-for="item in arr">
	  地区:{{item}}
	</li>
</ul>
</div>

<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		arr:["北京","上海","临沂"]
	}
	
})
</script>

在这里插入图片描述

加了索引后

<ul>
	<li v-for="(item,i) in arr">
	  地区:{{i}}{{item}}
	</li>
</ul>

在这里插入图片描述
遍历对象数组

<script type="text/javascript">
var app= new Vue({
	el:"#app",
	data:{
		arr:["北京","上海","临沂"],
		food:[
			{name:"西兰花"},
			{name:"鸡蛋"}
			 ]		
	}
	
})
</script>
<li v-for="(item,i) in food">
	  食物:{{i}}{{item.name}}
	</li>

在这里插入图片描述
v-model 获取和设置表单元素的值(双向数据绑定)
在这里插入图片描述

axios 功能强大的网络请求库
在这里插入图片描述

1.导入js

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

get请求
在这里插入图片描述
post请求
在这里插入图片描述

axios+vue

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值