add:Vue相关。
This commit is contained in:
parent
181e970997
commit
d73acce6df
@ -74,7 +74,7 @@
|
|||||||
|
|
||||||
- vue的双向绑定怎么实现的?我是说怎么实现?
|
- vue的双向绑定怎么实现的?我是说怎么实现?
|
||||||
|
|
||||||
我当时是回答MVVM模式。其实还需要答出Object.defineProperty( )的细节。
|
我当时是回答MVVM模式。其实还需要答出Object.defineProperty( )的细节,以及虚拟DOM。
|
||||||
|
|
||||||
|
|
||||||
- Vue里还有什么呢?
|
- Vue里还有什么呢?
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
|
|
||||||
|
|
||||||
- [Get全栈技能点 Vue2.0/Node.js/MongoDB 打造商城系统](https://coding.imooc.com/class/chapter/113.html)
|
|
||||||
|
|
||||||
## MVVM模式
|
## MVVM模式
|
||||||
|
|
||||||
|
20180420_2150.png
|
||||||
|
|
||||||
- Model:负责数据存储
|
- Model:负责数据存储
|
||||||
|
|
||||||
- View:负责页面展示
|
- View:负责页面展示
|
||||||
@ -381,6 +382,10 @@ cnpm run dev
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
本文参考链接:
|
||||||
|
|
||||||
|
- [Get全栈技能点 Vue2.0/Node.js/MongoDB 打造商城系统](https://coding.imooc.com/class/chapter/113.html)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -40,7 +40,7 @@
|
|||||||
|
|
||||||
![](http://img.smyhvae.com/20180313_0955.png)
|
![](http://img.smyhvae.com/20180313_0955.png)
|
||||||
|
|
||||||
如果我们在控制台输入`myVue.data+='123'`,页面会**自动更新**name的值。
|
如果我们在控制台输入`myVue.$data.name = 'haha'`,页面会**自动更新**name的值。意思是,当我们直接修改data数据,页面会自动更新,而不用去操作DOM。
|
||||||
|
|
||||||
|
|
||||||
下面来讲一下Vue的各种系统指令。
|
下面来讲一下Vue的各种系统指令。
|
||||||
|
@ -103,7 +103,7 @@
|
|||||||
|
|
||||||
具体实现步骤如下:
|
具体实现步骤如下:
|
||||||
|
|
||||||
(1)用户填写的数据单独存放在data属性里,并采用`v-module`进行双向绑定。
|
(1)用户填写的数据单独存放在data属性里,并采用`v-model`进行双向绑定。
|
||||||
|
|
||||||
(2)用户把数据填好后,点击add按钮。此时需要增加一个点击事件的方法,将data中的数据放到list中(同时,清空文本框中的内容)。
|
(2)用户把数据填好后,点击add按钮。此时需要增加一个点击事件的方法,将data中的数据放到list中(同时,清空文本框中的内容)。
|
||||||
|
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
Vue提供了一系列的固定逻辑来使程序员更加容易的实现这些功能,这些过滤器称之为系统过滤器,Vue也提供了一个接口用来供程序员定义属于自己的特殊逻辑,Vue称之为自定义过滤器。
|
|
||||||
|
|
||||||
|
|
||||||
## 系统过滤器
|
## 系统过滤器
|
||||||
|
|
||||||
|
Vue提供了一系列的固定逻辑来使程序员更加容易的实现这些功能,这些过滤器称之为系统过滤器,Vue也提供了一个接口用来供程序员定义属于自己的特殊逻辑,Vue称之为自定义过滤器。
|
||||||
|
|
||||||
|
|
||||||
系统过滤器的使用,可以参考参考文档:<http://v1-cn.vuejs.org/api/#过滤器>
|
系统过滤器的使用,可以参考参考文档:<http://v1-cn.vuejs.org/api/#过滤器>
|
||||||
|
|
||||||
注意:系统过滤器是Vue1.0中存在的,在Vue2.0中已经删除了。
|
注意:系统过滤器是Vue1.0中存在的,在Vue2.0中已经删除了。
|
||||||
@ -79,7 +81,7 @@ Vue提供了一系列的固定逻辑来使程序员更加容易的实现这些
|
|||||||
|
|
||||||
20180405_2038.png
|
20180405_2038.png
|
||||||
|
|
||||||
第一行代码显示的是默认的date。第二行代码显示的是格式化之后的date,说明过滤器还是起到了作用的。
|
第一行代码显示的是默认的date。第二行代码显示的是格式化之后的date,说明过滤器是起到了作用的。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -169,35 +171,6 @@ Vue提供了一系列的固定逻辑来使程序员更加容易的实现这些
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
###1.2 可以自定义按键别名
|
|
||||||
|
|
||||||
```
|
|
||||||
在Vue2.0 中默认的按键修饰符是存储在 Vue.config.keyCodes中
|
|
||||||
// 例如在Vue2.0版本中扩展一个f1的按键修饰符写法:
|
|
||||||
Vue.config.keyCodes.f1 = 112
|
|
||||||
|
|
||||||
|
|
||||||
在1.0.17+ 中默认的按键修饰符是存储在Vue.directive('on').keyCodes中
|
|
||||||
|
|
||||||
// 例如在Vue1.0中扩展一个f1的按键修饰符写法:
|
|
||||||
Vue.directive('on').keyCodes.f1 = 112
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
### 1.3 利用v-on的.enter按键修饰符实现品牌管理的新增按钮功能
|
|
||||||
- 效果图
|
|
||||||
|
|
||||||
![d2-1.png](imgs/d2-1.png "")
|
|
||||||
|
|
||||||
|
|
||||||
- 实现代码
|
|
||||||
|
|
||||||
![d2-2.png](imgs/d2-2.png "")
|
|
||||||
![d2-3.png](imgs/d2-3.png "")
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
47
21-Vue基础/02-Vue中的Ajax请求.md
Normal file
47
21-Vue基础/02-Vue中的Ajax请求.md
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
|
||||||
|
|
||||||
|
## vue-resource
|
||||||
|
|
||||||
|
官网链接:
|
||||||
|
|
||||||
|
- http相关:<https://github.com/pagekit/vue-resource/blob/master/docs/http.md>
|
||||||
|
|
||||||
|
按照先后顺序,导入vue.js和vue-resource.js文件。
|
||||||
|
|
||||||
|
### get 请求
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
this.$http.get(url)
|
||||||
|
.then(function (response) {
|
||||||
|
var data = response.body; //response.body是要获取的数据
|
||||||
|
},
|
||||||
|
function (err) {
|
||||||
|
//err是异常数据
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
获取到的`response.body`就是要获取的数据,但直接打印出来是 object,所以要记得转成string。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### jsonp
|
||||||
|
|
||||||
|
20180420_2250.png
|
||||||
|
|
||||||
|
```javascript
|
||||||
|
// 利用vue-resource中的jsonp方法实现跨域请求数据,这里要注意的是:
|
||||||
|
// url后面不需要跟callback=fn这个参数了,jsonp方法会自动加上
|
||||||
|
this.$http.jsonp('http://vuecms.ittun.com/api/getlunbo?id=1')
|
||||||
|
.then(function (response) {
|
||||||
|
console.log(JSON.stringify(response.body));
|
||||||
|
}, function (err) {
|
||||||
|
//err是异常数据
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
请求结果:
|
||||||
|
|
||||||
|
20180420_2256.png
|
||||||
|
|
||||||
|
|
60
21-Vue基础/03-Vue的生命周期函数.md
Normal file
60
21-Vue基础/03-Vue的生命周期函数.md
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Vue 2.0的生命周期函数
|
||||||
|
|
||||||
|
20180420_2305.png
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```html
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<title>Title</title>
|
||||||
|
<script src="vue2.5.16.js"></script>
|
||||||
|
</head>
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<!--这个div区域就是MVVM中的 View-->
|
||||||
|
<div id="app">
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
new Vue({
|
||||||
|
el: '#app',
|
||||||
|
data: {
|
||||||
|
msg: 'hello vuejs'
|
||||||
|
},
|
||||||
|
beforeCreate: function () {
|
||||||
|
console.log('1.0 beforeCreate', this.msg);
|
||||||
|
}
|
||||||
|
,
|
||||||
|
created: function () {
|
||||||
|
console.log('2.0 created', this.msg);
|
||||||
|
}
|
||||||
|
,
|
||||||
|
beforeMount: function () {
|
||||||
|
console.log('3.0 beforeMount', this.msg);
|
||||||
|
}
|
||||||
|
,
|
||||||
|
mounted: function () {
|
||||||
|
console.log('4.0 mounted', this.msg);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</html>
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
打印结果:
|
||||||
|
|
||||||
|
20180420_2302.png
|
||||||
|
|
||||||
|
|
||||||
|
|
7
21-Vue基础/04-Vue组件.md
Normal file
7
21-Vue基础/04-Vue组件.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
|
||||||
|
## 组件
|
||||||
|
|
||||||
|
组件`Component`是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。
|
||||||
|
|
||||||
|
|
8
21-Vue基础/其他.md
Normal file
8
21-Vue基础/其他.md
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
##
|
||||||
|
|
||||||
|
Vue.component:
|
||||||
|
|
||||||
|
|
||||||
|
帮助我们创建全局组件。
|
Loading…
Reference in New Issue
Block a user