基础演示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>vue</title>
<script src="js/vue-2.4.0.js"></script>
</head>
<body>
<div id="d1">
<!-- {
{
}}单向绑定:该元素的值改变,属性值不改变;只是从属性中获得一个值-->
{
{
location.city}}{
{
location.area}}
{
{
month}}月
{
{
day}}日天气{
{
weather}}
<hr>
<!-- v-bind单向绑定:该元素的值改变,属性值不改变;只是从属性中获得一个值-->
<input type="text" v-bind:value="day">
<!-- v-model双向绑定:该元素的值改变,属性值也改变;-->
<input type="text" v-model="day">
<hr>
<input type="button" v-on:mouseover="add" value="增加" >
<input type="button" @click="decrease" value="减少">
</div>
</body>
<script type="text/javascript">
// vue自带对象:vue;
var vue = new Vue({
// el:"#元素id"--绑定元素,vue对象中的属性和方法可以渲染和运行的元素范围
"el":"#d1",
// data:当前vue实例的属性键值对
"data":{
month:"3",
day:"2",
weather:"晴朗",
location:{
city:"上海",area:"宝山"}
},
"methods":{
add:function () {
//当前vue实例的属性引用:this.属性名
this.day++;
},
decrease:function () {
this.day--;
}
}
});
var sex = "男";
var person= {
stuname:"zoya",
age:23,
sex:"女",
show:function () {
//方法中调用实例对象的属性必须加this,不像java中默认银行一个this,JavaScript默认寻找的是同名全局变量而非本类属性。
console.log(this+"==="+this.age+sex);
}
};
person.show();
// [object Object]===23男
</script>
</html>
生命周期
初始化
1.初始化前 beforeCreated:一切数据还未准备
初始化:准备模型数据
1.初始化完成 created:模型中已有数据,页面元素中没有数据
渲染
2.挂载(渲染)前 beforeMount:模型中已有数据,但模板还没有内容(模板即el绑定的div元素)
渲染:将模型数据渲染到el
2.挂载(渲染)完成 mounted: 该方法执行完毕模板才渲染完成并显示
更新
3.内容改变前 beforeUpdate:开始重新渲染,执行此方法时模型中数据已经改变
3.内容改变前 updated:重新渲染完成,执行此方法时模型中数据已经改变
销毁
4.销毁前beforedestory:
销毁:擦除模型和元素之间的绑定关系,修改内容等行为不再执行任何功能
4.销毁后destroyed:
vue标签指令
插值表达式
绑定 v-bind
单向绑定,引用vue实例的属性(可以作用于任意标签)
标签属性:v-bind:value=“属性名”
{ {}}
body位置直接写 { {属性名}}
v-text=“属性名”
将属性在标签中展示(若属性值中存在HTML代码,不解析,原样展示)
v-html=“属性名”
若属性值中存在HTML代码,解析后展示