vue入门总结

## 一.认识vue

#### 1.什么是vue

以数据驱动的web渐进式框架

#### 2.vue优点

- 以数据驱动,不直接操作DOM,效率高
- 单页面应用,减少请求页面次数,速度快
- 数据的双向绑定,更新快
- 虚拟DOM,开发操作数据,数据更新虚拟DOM,虚拟DOM渲染真实DOM
- 组件化开发

## 二.vue入门

#### 1.实例

```html
<div id="app"></div>

<script>
// new一个Vue就是一个实例
// 实例与页面对应挂载点的所有页面结构一一绑定
// 一个页面中可以出现多个实例(挂载点),建议只出现一个实例,且挂载点用id
new Vue({
// 挂载点
el: "#app"
})
</script>
```

#### 2.数据 data

```html
<div id="app">
<!-- 插值表达式中存放的为变量,变量需要在vue实例的$data中进行初始化 -->
{{ msg }}
</div>

<script>
var app = new Vue({
el: "#app",
data: {
msg: "数据"
}
})
</script>

<script>
app.$data.msg;
app.msg
</script>

```

#### 3.方法 methods

```html
<div id="app">
<!-- v-on: 指令,操作事件的 -->
<p class="box" v-on:click="boxAction">{{ msg }}</p>
</div>

<script>
new Vue({
el: "#app",
data: {
msg: "数据"
},
// methods为挂载点内部提供方法的实现体
methods: {
boxAction: function(ev) {
console.log(ev)
}
}
})
</script>
```

#### 4.计算 computed

```html
<div id="app">
<input type="text" v-model="a">
<input type="text" v-model="b">
<div>
{{ c }}
</div>
</div>

<script>
// 一个变量依赖于多个变量
new Vue({
el: "#app",
data: {
a: "",
b: "",
},
computed: {
c: function() {
// this代表该vue实例
return this.a + this.b;
}
}
})
</script>
```

#### 5.监听 watch

```html
<div id="app">
<input type="text" v-model="ab">
<div>
{{ a }}
{{ b }}
</div>
</div>

<script>
// 多个变量依赖于一个变量
new Vue({
el: "#app",
data: {
ab: "",
a: "",
b: "",
},
watch: {
ab: function() {
// 逻辑根据需求而定
this.a = this.ab[0];
this.b = this.ab[1];
}
}
})
</script>
```

#### 6.生命周期钩子

- 表示一个vue实例从创建到销毁的这个过程,将这个过程的一些时间节点赋予了对应的钩子函数
- 钩子函数: 满足特点条件被回调的方法

```js
new Vue({
el: "#app",
data: {
msg: "message"
},
beforeCreate () {
console.log("实例刚刚创建");
console.log(this.msg);
},
created () {
console.log("实例创建成功, data, methods");
console.log(this.msg);
}
// 拿到需求 => 确定钩子函数 => 解决需求的逻辑代码块
})
```

 

posted @ 2018-10-29 19:55  不沉之月  阅读(138)  评论(0编辑  收藏  举报