目录
1.什么是vue
2.什么是mvc和mvvm
3.框架和库的区别
4.插值表达式
5.vue指令防止页面闪烁
6.vue指令v-html和v-text的区别
7.vue指令-属性绑定及简写
8.vue指令-事件绑定及简写
9.vue事件修饰符
10.vue指令-双向数据绑定
11.vue指令-循环渲染
12.vue指令-显示隐藏
13. vue指令-v-for为什么设置key
14.vue绑定class方式
15.vue绑定style方式
16.vue过滤器全局和局部声明方式及使用
17.vue键盘修饰符使用
18.vue键盘修饰符设置别名
19.vue自定义指令全局和局部声明方式及使用
20.vue生命周期钩子函数有哪些?
vue生命周期钩子函数各阶段特点,什么作用?
21.vue-resource如何发送get,post请求
22.vue-resource发送post请求第三个参数写什么
23.axios发送get,post请求
24.axios发送post请求使用内置参数对象是什么
在post请求时,
请求头为json字符串和对象时,直接转为json对象即可
请求头为application/x-www-form-urlencoded时,创建一个URLSearchParams对象
请求头为multipart/form-data 时,创建一个FormData对象
25.vue中过渡动画类名有哪些
26.vue中过渡动画结合第三方插件使用
27.vue中过渡动画中钩子函数的使用
28.vue中如何设置v-for列表动画
29.vue中如何声明组件
30.vue中如何父组件给子组件传值
31.vue中如何子组件给父组件传值
32.vue中如何使用插槽,两种插槽的区别
33.前端路由和后端路由的区别
34.vue中如何使用路由
35.路由跳转两种方式,声明式,函数式
36.路由传参两种方式,声明式,函数式
37.路由嵌套
38.路由高亮
39.路由重定向
40.ref的使用
41.属性计算,属性监听
vue是一套构建用户界面的渐进式框架,与其他重量级框架不同,vue采用自底向上增量开发的设计,vue的核心库只注视图层,不仅易于上手,还便于与第三方库或者既有项目整合
mvc是后端的分层开发概念
mvvm是前端视图层的概念,主要关注视图层分离,也就是说:mvvm把前端的视图层,分为了三部分Model、View、ViewModel
框架:是一套完整的解决方案;对项目的侵入性比较大,项目如果需要更换框架,则需要重新架构整个项目。
库(插件):提供某一个小功能,对项目的侵入性较小,如果某个库无法完成某些需求,可以很容易切换到其他库实现需求。
插值表达式{{}},可以在前后插入一些内容
v-cloak:在vue加载之前v-cloak是存在,vue加载结束之后v-cloak就隐藏了,利用这个特性可以实现:防止页面闪烁
v-html可以识别富文本
v-bind指令,可以直接简写为冒号
v-on指令,可以简写为@
v-model :作用:数据双向绑定
:注意:只能绑定表单控件
v-for
v-if与v-show
2.2.0+ 的版本里,当在组件中使用 v-for 时,key 现在是必须的。
当 Vue.js 用 v-for 正在更新已渲染过的元素列表时,它默认用 “就地复用” 策略。如果数据项的顺序被改变,Vue将不是移动 DOM 元素来匹配数据项的顺序, 而是简单复用此处每个元素,并且确保它在特定索引下显示已被渲染过的每个元素。
为了给 Vue 一个提示,以便它能跟踪每个节点的身份,从而重用和重新排序现有元素,你需要为每项提供一个唯一 key 属性。
http://t.csdn.cn/3Vci4
http://t.csdn.cn/3Vci4
http://t.csdn.cn/3Vci4
http://t.csdn.cn/3Vci4
http://t.csdn.cn/H4I8r
安装方法
使用 cdn:
script
标签,引入vue-resource
的脚本文件;Vue
的脚本文件,再引用vue-resource
的脚本文件get请求
getInfo() { // get 方式获取数据
this.$http.get('http://yapi.shangyuninfo.com/mock/36/web02/category').then(res => {
console.log(res.body);
})
}
post请求
postInfo() {
var url = 'http://yapi.shangyuninfo.com/mock/36/web02/list/goods/category';
// post 方法接收三个参数:
// 参数1: 要请求的URL地址
// 参数2: 要发送的数据对象
// 参数3: 指定post提交的编码类型为 application/x-www-form-urlencoded
this.$http.post(url, {categoryId: 'zs' }, { emulateJSON: true }).then(res => {
console.log(res.body);
});
}
/参数3: 指定post提交的编码类型为 application/x-www-form-urlencoded
写为{ emulateJSON: true }
Vue.js 2.0 版本推荐使用 axios 来完成 ajax 请求。
Axios 是一个基于 Promise 的 HTTP 库,可以用在浏览器和 node.js 中。
安装方法
使用 cdn:
或
使用 npm:
npm install axios
get请求和post请求
导入动画类库:
定义 transition 及属性:
第一军团没有秘密
定义 transition 组件以及三个钩子函数:
@enter="enter"
@after-enter="afterEnter">
定义三个 methods 钩子方法:
methods: {
beforeEnter(el) { // 动画进入之前的回调
el.style.transform = 'translateX(500px)';
},
enter(el, done) { // 动画进入完成时候的回调
el.offsetWidth;
el.style.transform = 'translateX(0px)';
done();
},
afterEnter(el) { // 动画进入完成之后的回调
this.isshow = !this.isshow;
}
}
定义动画过渡时长和样式:
.show{
transition: all 0.4s ease;
}
定义过渡样式:
.v-enter{
transform: translateX(-200px);
}
.v-enter-to{
transform: translateX(0px);
}
.v-enter-active{
transition: all 2s;
}
.v-leave{
transform: translateX(0px);
}
.v-leave-to{
transform: translateX(200px);
}
.v-leave-active{
transition: all 2s;
}
定义DOM结构,其中,需要使用 transition-group 组件把v-for循环的列表包裹起来:
{{item}}
定义 VM中的结构:
const vm = new Vue({
el: '#app',
data: {
flag:true
},
methods: {
},
})
{{item}}
http://t.csdn.cn/kGV9p
免费
精品
付费
课程
-
{{item.courseTitle}}
{{item.learningNum}}
免费
father ---{{fromSon}}
{{fathmsg}}
son
http://t.csdn.cn/N3Zcs
路由的基本使用
案例
index
index
去详情
首页
去详情
去详情2222
去详情
去个人中心
去个人中心
详情页
个人页
声明式:直接写在to后面
函数式
// 函数式跳转
todetail(){
this.$router.push({path:'/detail'})
this.$router.push({path:'/mine',query:{id:104,name:'lisi'}})
},
1.通过query的方式在url后加?参数名=参数的值
获取参数:$route.query.参数名
2.使用浏览器参数的方式传递参数
index
index
去详情
首页
去详情
去详情2222
去详情
去个人中心
去个人中心
详情页
play
课程信息缓冲
课程信息播放
个人页
选中路由高亮
redirect可以进行路由的重定向
// 路由重定向
{
path:'/',
redirect:'/index'
},
获取dom节点
获取组件
Watch用法
监听data中属性的改变:
+
=
{{fullName}}
监听路由对象的改变:
登录
注册
Computed用法
默认只有getter的计算属性:
+
=
{{fullName}}
定义有getter和setter的计算属性:
{{fullName}}
method、computed和watch的区别
computed
属性的结果会被缓存,除非依赖的响应式属性变化才会重新计算。主要当作属性来使用,使用的时候不加();methods
方法表示一个具体的操作,主要书写业务逻辑;