<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="../assets/vue.js"></script>
</head>
<body>
<div id="app">
<h1 v-text="number">{{msg}}</h1>
<h1 v-html="content" @click="gr"></h1>
<div :title="title" v-show="isShow">231</div>
<button @click="show">mybutton</button>
<input type="text" v-model="x">
<div v-if="isshow">123</div>
<!--<div>{{x}}</div>-->
<!--姓<input type="text" v-model="f">-->
<!--名<input type="text" v-model="l">-->
<!--<div>{{all}}</div>-->
<!--<div>{{count}}</div>-->
<div v-for="item,index of list" :key="item">
{{item}}
</div>
<script>
let app = new Vue({
el:'#app',
template:'',
data:{
msg:'world',
number:123,
content:'<h1>23</h1>',
title:'this is666',
x:'',//双向绑定必须写占位。
f:'小',
l:'白',
count:0,
isShow:true,
isshow:true,
list:[1,2,3,4]
},
computed:{ //用来计算属性的
all:function () {
return this.f+''+this.l
}
},
methods:{
gr(){
this.content = '<h4>2</h4>'
//如果data中不存在,就会去computed中找这个属性,如果找不到
// ,就会默认在methods中找。vue的机制与node一样
},
show(){
this.isshow =!this.isshow;
// this.isShow=!this.isShow;
//v-show 不会把元素从dom中移除
//v-if会让元素消失
}
},
watch:{ //监听
f(){
this.count++;
},
l(){
this.count++;
}
}
})
</script>
</body>
</html>
v-model = 'content' {{contents}} //vue 双向视图的绑定
v-text 只能返回一个文本内容
v-html 不仅可以返回文本内容还可以返回html标签
v-for item ,index in items :key='index'
//vue的for循环时,必须绑定一个:key的属性 不然会有一个警告 并且也会提升渲染性能。
需要注意的是 key的值不能相同,所有如果在遇到如数组的情况下 ,我们可以使用index去暂时代替。建议并希望这样做。
v-bind 可以缩写成 :
v-on 可以缩写成@一个事件名
v-show 可以动态的让元素消失或者隐藏 但是不会让元素移除
v-if v-else v-else-if 也可让元素消失或者隐藏 但是他会直接让这个元素直接移除。
在使用双向绑定的时候。我们需要在data内进行一个占位操作。即设置一个需要解析的属性名称。
//===
methods 在vue中是用来写逻辑方法的
computed 在vue中是用来计算属性的。
watch:是用来监听某个元素或者属性的变化的。