0%

vue学习记录(二)

https://cn.vuejs.org/v2/guide/index.html
https://www.jianshu.com/p/1af66f3010c5

vue采用声明式渲染,最简单的例子如下:

1
2
3
4
5
6
7
8
9
10
<div id="app">
{{ message }}
</div>

var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
}
})

个人感觉有点类似jinjia2的字符串渲染

1
2
3
4
5
6
7
8
9
10
11
12
<div id="app-2">
<span v-bind:title="message">
鼠标悬停几秒钟查看此处动态绑定的提示信息!
</span>
</div>

var app2 = new Vue({
el: '#app-2',
data: {
message: '页面加载于 ' + new Date().toLocaleString()
}
})

看到的 v-bind attribute 被称为指令。指令带有前缀 v-,以表示它们是 Vue 提供的特殊 attribute。
vue指令:
v-text 数据绑定标签,将vue对象data中的属性绑定给对应的标签作为内容显示出来,类似js的text属性
v-html 类似v-text标签,他是将data的属性作为html语法输出,类似js中的innerHtml属性
v-show 根据表达式的真假来切换所绑定的dom的display属性 v-show=”true”
v-show用于控制dom的显隐,实际是控制了dom的css的display属性
v-if
v-if和v-show功能差不多,都是用来控制dom的显隐,用法也一样,只是原理不同,当v-if=”false”时,dom被直接删除掉;为true时,又重新渲染此dom;
v-else
v-else-if
v-for

id
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    <div v-for="list in List">{{list.name}}</div>
</div>

<script>
new Vue({
el: "#app",
data: {
List: [{
name: "tony",
age: "16"
},
{
name: "jack",
age: "18"
},
{
name: "tom",
age: "18"
}
]

}
})
</script>

v-on
缩写 @
参数:event
给dom添加一个事件监听

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div id="app">
<div v-on:click="clickButton" v-text="buttonName"></div>
</div>

<script>
new Vue({
el: "#app",
data: {
buttonName: "旧名字"
},
methods: {
clickButton: function () {
this.buttonName = "新名字"
}
}
})
</script>