不积跬步,无以至千里;不积小流,无以成江海。
Vuejs语言基础
- 第一个Vuejs程序:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id = "app">
<h2>{{message}}</h2>
<h1>{{name}}</h1>
</div>
<script src="../js/vue.js"></script>
<script>
//let(变量),const(常量)
//编程范式:声明式编程
const app = new Vue({
el:'#app',//用于挂载要管理的元素
data:{ //定义数据
message:'Hello vuejs!',
name:'Jiang'
}
})
</script>
</body>
</html>
1. 首先创建了一个Vue对象。
2. 创建Vue对象时,传入了一些options:{}
a. {}中包含了el属性:该属性决定了这个Vue对象挂载到哪个元素上。这里,我们挂载到了id为app的元素上
类型:string | HTMLElement
作用:决定之后Vue实例会管理哪个DOM。
b. {}中包含了data属性:该属性中通常存储一些数据
类型:Object | Function(组件中data必须是一个函数)
作用:Vue实例对应的数据对象。
√ 这些数据可以是我们直接定义出来的。
√ 也可能是来自网络,从服务器加载的。
- Vue列表显示:
展示一个更加复杂的数据:数据列表。
注意使用v-for指令:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<ul>
<li v-for="item in movie">{{item}}</li>
</ul>
<!-- {{movie}}-->
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el:'#app',
data:{
message:'你好呀!',
movie:['星际穿越', '大话西游', '盗梦空间']
}
})
</script>
</body>
</html>
- 小案例:计数器
点击“+”,计数器加1;
点击“-”,计数器减1。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<h2>当前计数: {{counter}}</h2>
<button @click="add">+</button>
<button @click="sub">-</button>
</div>
<script src="../js/vue.js"></script>
<script>
const app = new Vue({
el:'#app',
data:{
counter: 0
},
methods:{
add:function () {
console.log("add被执行");
this.counter++
},
sub:function () {
console.log("sub被执行");
this.counter--
}
}
})
</script>
</body>
</html>
新属性:methods,该属性用于在Vue中定义方法。
类型:{[key: string]: Function }
作用:定义Vue的一些方法,可以在其他地方调用,也可以在指令中使用。
新指令:@click,该指令用于监听某个元素的监听事件,并且需要指定当发生点击时,执行方法(通常是methods中定义的方法)
浙公网安备 33010602011771号