vue小结
Posted zhixuChen333
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue小结相关的知识,希望对你有一定的参考价值。
VUE
主要特点
1.MVVM模式,实现数据与视图的双向绑定
2.虚拟DOM,提高效率
基本指令
- data 插值表达式,直接取到Vue实例中data的数据
- v-text
- v-html 会把文本解析成html进行展示
- v-on 绑定事件,简写为@
- v-if 底层通过操作dom树上的元素节点实现页面的展示和隐藏
- v-show 底层通过css中的display属性
- v-bind 将html标签中的某个属性与vue实例进行绑定,简写成 :
- v-for 遍历对象、数组
- v-model 将html标签的value属性与vue实例进行绑定,主要用在表单元素上,体现双向绑定机制
其他
computed
类似于后端的缓存,只要有计算出一次结果,再去调用,不会再次计算,而是直接取结果渲染
事件修饰符
- .stop 用来阻止事件冒泡
- .prevent 用来阻止标签的默认行为
- .self 只监听自身标签触发的事件
- .once 该事件只触发一次
键盘修饰符
Axios
vue的生命周期
初始化阶段
- beforeCreate()
- create()
- beforeMounted()
- mounted
运行阶段
- beforeUpdate
- updated
销毁阶段
- beforeDestory
- destoryed
ES6新特性
声明变量
- let 用来声明局部变量
- const 声明常量,一旦被赋值不能被修改,推荐用来定义对象、数组
箭头函数
在使用匿名函数作为参数时使用,类似于JAVA中的lambda表达式 区别:箭头函数没有this,匿名函数有
模板字符串
语法:``
对象的定义
在定义对象时如果对象属性名和变量名一致时,写一个即可
组件
全局组件
//第一个参数组件名,第二个参数组件的配置对象,第三个组件的html
Vue.component('todo-title',
props: ['titles'],
template: '<p>titles<p/>'
);
局部组件
var vm = new Vue(
el: "#app",
data:
message: "hello,vue!"
,
components:
add:
template: `<h2>添加</h2>`
)
数据传递 props
实现父组件到子组件之间的数据传递,单向数据传递
1.传递静态数据
<div id="app">
<login title="我是静态数据" count="0"></login>
</div>
<script src="../js/vue.min.js"></script>
<script>
const login =
template: `<h2>title==count</h2>`,
data()
return
,
props: ['title', 'count']
const app = new Vue(
el: "#app",
data:
,
components:
login
)
</script>
2.传递动态数据
<div id="app">
<login :title="vueTitle" :count="vueCount"></login>
</div>
<script src="../js/vue.min.js"></script>
<script>
const login =
template: `<h2>title==count</h2>`,
data()
return
,
props: ['title', 'count']
const app = new Vue(
el: "#app",
data:
vueTitle: '我是动态属性',
vueCount: 5
,
components:
login
)
</script>
子组件向父组件传递数据
语法: @传递事件名=“父组件中传递事件名”
<div id="app">
<login :title="vueTitle" :count="vueCount" @test="testFather"></login>
</div>
<script src="../js/vue.min.js"></script>
<script>
const login =
template: `<h2>title==count<button @click="testSon()">点我</button></h2>`,
data()
return
num: 5
,
props: ['title', 'count'],
methods:
testSon()
alert('这是父组件的事件');
this.$emit('test', this.num)
const app = new Vue(
el: "#app",
data:
vueTitle: '我是动态属性',
vueCount: 5
,
components:
login
,
methods:
testFather(count)
alert("这是父组件的方法" + count)
)
</script>
插槽 slot
路由
- queryString? 问号传参数 this.$route.query.key
- 路径传参数获取方式 this.$route.params.key
嵌套路由
嵌套路由的路径不能以 / 开头
Vue Cli 脚手架
先安装nodejs
- vue init webpack +项目名 初始化新项目
以上是关于vue小结的主要内容,如果未能解决你的问题,请参考以下文章