1.vue的简介及常用指令
1.vue是什么?
Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的。
拓展:MVVM 的工作流程
Model(数据层)
View(视图层)
ViewModel(逻辑层)从 Model 获取数据,并转换成 View 能直接使用的格式(如过滤、排序)。
<!-- View(模板) -->
<div id="app">
<p>{{ message }}</p> <!-- 数据绑定 -->
<button @click="reverseMessage">反转文本</button> <!-- 事件绑定 -->
</div>
<script>
// ViewModel(Vue 实例)
new Vue({
el: '#app',
data: { // Model(数据)
message: 'Hello, MVVM!'
},
methods: { // 视图逻辑
reverseMessage() {
this.message = this.message.split('').reverse().join(''); // 更新 Model
}
}
});
</script>
2.vue.js常用指令
1.v-if 条件渲染(销毁 DOM)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app">
<h1>Hello, Vue.js!</h1>
<h1 v-if="yes">Yes!</h1>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
yes: true
}
})
</script>
</html>
2.v-show 切换显示(CSS 控制)
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app">
<h1>Hello, Vue.js!</h1>
<h1 v-show="yes">Yes!</h1>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
yes: true
}
})
</script>
</html>
3.v-else v-if 的 else 块
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app">
<h1 v-if="age >= 25">Age: {{ age }}</h1>
<h1 v-else>Name: {{ name }}</h1>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
age: 28
}
})
</script>
</html>
4.v-for 列表循环
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="styles/demo.css" />
</head>
<body>
<div id="app">
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Sex</th>
</tr>
</thead>
<tbody>
<tr v-for="person in people">
<td>{{ person.name }}</td>
<td>{{ person.age }}</td>
<td>{{ person.sex }}</td>
</tr>
</tbody>
</table>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
people: [{
name: 'Jack',
age: 30,
sex: 'Male'
}, {
name: 'Bill',
age: 26,
sex: 'Male'
}]
}
})
</script>
</html>
5.v-bind 动态绑定属性
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<link rel="stylesheet" href="styles/demo.css" />
</head>
<body>
<div id="app">
<ul class="pagination">
<li v-for="n in pageCount">
<a href="javascripit:void(0)" v-bind:class="activeNumber === n + 1 ? 'active' : ''">{{ n + 1 }}</a>
</li>
</ul>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
data: {
activeNumber: 1,
pageCount: 10
}
})
</script>
</html>
6.v-on 绑定事件
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="app">
<p>
<!--click事件使用内联语句-->
<button v-on:click="say('Hi')">Hi</button>
</p>
</div>
</body>
<script src="js/vue.js"></script>
<script>
var vm = new Vue({
el: '#app',
methods: {
say: function(msg) {
alert(msg)
}
}
})
</script>
</html>
如果前端感兴趣:添加微信: LarkMidTable2021 ,备注:前端 ,平时进行前端的学习交流使用。

浙公网安备 33010602011771号