1.Vue的基本语法
1.1 v-bind
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<span v-bind:title="message">
鼠标悬停几秒钟查看你此处动态绑定的提示信息
</span>
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
//Model:数据
data:{
message:"hello,vue!"
}
});
</script>
</body>
</html>
1.2 v-if ,v-else ,v-else-if
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<!--view 层 模板-->
<div id="app">
<h1 v-if="type==='A'">A</h1>
<h1 v-else-if="type==='B'">B</h1>
<h1 v-else-if="type==='D'">D</h1>
<h1 v-else>C</h1>
<!--各自绑定,从if开始-->
<h1 v-if="demo==='A'">A</h1>
<h1 v-else-if="demo==='B'">B</h1>
<h1 v-else-if="demo==='D'">D</h1>
<h1 v-else>G</h1>
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
//Model:数据
data:{
type: 'A',
demo:'B'
}
});
</script>
</body>
</html>
1.3 v-for
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<li v-for="item in items">
{{item.message}}
</li>
<li v-for="(item,index) in items">
{{item.message}}--{{index}}
</li>
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
//Model:数据
data:{
items: [
{message: '狂神说Java'},
{message: '狂神说前端'},
{message: '狂神说运维'}
]
}
});
</script>
</body>
</html>
2.vue事件绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<button v-on:click="sayHi">click me</button>
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
//Model:数据
data:{
message: "狂神说Java"
},
methods:{//方法必须定义在Vue的Methods对象中,事件
sayHi: function (){
alert(this.message);
}
}
});
</script>
</body>
</html>
3.Vue的双向绑定
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
输入的文本: <input type="text" v-model="message"> {{message}}
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
//Model:数据
data:{
message:"hello,vue!"
}
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
输入的文本: <input type="text" v-model="message"> {{message}}
<br>
输入的文本: <textarea name="" id="a" cols="30" rows="10" v-model="message"></textarea>{{message}}
<br>
<br>
性别 <input type="radio" name="sex" value="男" v-model="jmj" >男
<input type="radio" name="sex" value="女" v-model="jmj">女
<p>
选中了谁 {{jmj}}
</p>
<select name="" id="s" v-model="selct">
<option value="" disabled>---请选择---</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
</select>
select: {{selct}}
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
var vm = new Vue({
el:"#app",
//Model:数据
data:{
message: "hello,vue!",
checked: true,
jmj: '',
selct: ''
}
});
</script>
</body>
</html>
4.Vue组件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<!-- 组件: 传递给组件中的值 -->
<jmj v-for=" item in items" v-bind:qin="item"></jmj>
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<script>
//定义一个Vue组件 component
Vue.component("jmj",{//jmj表示组件名字,也就是标签名
props: ['qin'],//qin是bind绑定的一个参数,将item对象传递进来
template: '<li>{{qin}}</li>'
});
var vm = new Vue({
el:"#app",
//Model:数据
data:{
items: ["java","linux","前端"]
}
});
</script>
</body>
</html>
5.Axios异步通信
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- v-clock: 解决闪烁问题 -->
<style>
[v-clock]
</style>
</head>
<body>
<div id="vue" v-cloak>
<div>{{info.name}}</div>
<div>{{info.address}}</div>
<a v-bind:href="info.url">框</a>
</div>
<!-- 1.导入Vue.js -->
<script src="../js/vue.js"></script>
<!--axios-->
<script src="../js/axios.min.js"></script>
<script type="text/javascript">
var vm = new Vue({
el:"#vue",
//data:属性 :vm
data(){
return{
// 请求的返回参数格式,必须和json字符串一样
info:{
name: 'a',
address:{
strget: null,
city: null,
country: null
},
url: null
}
}
},
mounted(){//钩子函数,链式编程 ,ES6新特性
axios.get('../data.json').then(response=>(
vm.info= response.data
));
}
});
</script>
</body>
</html>