vue与angular的区别:
vue——简单、易学
指令以v-xxx表示
一片html代码配合上json,在new出来vue实例
个人维护项目
angular——上手难
指令以ng-xxx表示
所有属性和方法都挂到$scope身上
angular由Google维护
适合:pc端项目
共同点:不兼容低版本的IE
例子
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="./vue.js"></script>
<script type="text/javascript">
window.onload = function(){
var c = new Vue({
el:'#box',//选择器
data:{
msg:'welcome vue',
msg2:12,
msg3:true,
arr:['apple','pear'],
json:{a:'apple',b:'pear'},
}
});
};
</script>
</head>
<body>
<div id="box">
{{msg}}
</div>
</body>
</html>
常用指令:
angular:ng-model ng-controller
指令:扩展html标签功能、属性
v-model:一般表单元素(input)
<div id="box">
<input type="text" v-model="msg">
<br>
{{msg}}
</div>
一般表单元素(input) 双向数据绑定
在数组中循环:
v-for=“name in arr”
{{$index}}
在json中循环:
v-for=“name in json”
{{$index}} {{$key}}
v-for="(k,v) in json"//k=key,v=value
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="./vue.js"></script>
<script type="text/javascript">
window.onload = function(){
var c = new Vue({
el:'#box',
data:{
arr:['apple','banana','orange','pear'],
json:{a:'apple',b:'banana',c:'orange'}
}
});
};
</script>
</head>
<body>
<div id="box">
<ul>
<li v-for="value in arr">
{{value}} {{$index}}
</li>
</ul>
</div>
</body>
</html>
事件:
v-on:click/bdlclick……=”函数”
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="./vue.js"></script>
<script type="text/javascript">
window.onload = function(){
var c = new Vue({
el:'#box',
data:{
arr:['apple','banana','orange','pear'],
json:{a:'apple',b:'banana',c:'orange'}
},
methods:{
add:function(){
this.arr.push("tomato");
}
}
});
};
</script>
</head>
<body>
<div id="box">
<input type="button" value="按钮" v-on:click="add()">
<br>
<ul>
<li v-for="value in arr">
{{value}}
</li>
</ul>
</div>
</body>
</html>
点击按钮div消失
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script type="text/javascript" src="./vue.js"></script>
<script type="text/javascript">
window.onload = function(){
var c = new Vue({
el:'#box',
data:{
a:true
},
methods:{
add:function(){
this.arr.push("tomato");
}
}
});
};
</script>
</head>
<body>
<div id="box">
<input type="button" value="按钮" v-on:click="a=false">
<div style="width:200px; height:200px; background:red" v-show="a"></div>
</div>
</body>
</html>
显示隐藏:
v-show="true/false"