vue基础知识

vue基础回顾
指令:指令是vue内置属性
v-model数据双项绑定,用在input元素中.input的值发生改变会影响js中数据模型的值,数据模型发生改变会影响页面。
v-for(item,index),顾名思义循环。那个元素需要循环生成给那个加。v-for能遍历数组,对象,数字,字符串.第一个参数是遍历中的每个元素,第二个参数是索引。
v-on绑定事件,全等于@;例如 v-onclick='fn' @click="fn"
v-bind动态绑定属性,全等于 : ; 例如 v-bind:src=“变量” === :src=“变量”
v-cloak 页面中有小胡子语法,页面加载是从上到下。没有加载js的时候会出现{{}}
在样式中让包含这个属性的元素display:none;就会屏蔽掉,当vue记载完毕后就会自动变为block
axios ajax请求要下载相应的包,语法axios.get('url').then(()=>{}),
时间修饰符 .stop阻止冒泡、.prevent 阻止浏览器默认事件、.capture 变为捕获模式、.self 只有点自己的的时候才执行 .once触发一次事件 .passive 滚动事件
filters Vue允许你自定义过滤器,可被用于一些常用的文本格式化。过滤器可以用在两个地方:双括号插值和一些常见文本格式化 :双括号插和v-bind表达式。过滤器应该被添加在JavaScript表达式的尾部 用管道符" | "
v-if,v-else操作的是dom元素,
v-show操作的是css样式 用法 v-show=“boolean值”

<div id='app'>
    <span>{{"好好学习" | addHeader}}</span>  //龙飞曰:好好学习
    <span>{{"天天向上" | addHeader}}</span>//龙飞曰:天天向上
    {{9000 | monty}}
</div>
Vue.filter("addHeader",function(val){//val就是传递需要过滤处理的值
            return "龙飞曰:"+val;//处理完之后返回出去
    })

computed计算属性,computed里数据模型随着依赖的数据变化而变化。data里面的写过的数据模型在computed里面不能再次出现。计算属性里面的数据模型都有两个方法一个是get一个是set。默认是走get。只要写了这两个方法。属性获取值的时候就会默认走get。在设置值的时候默认走set(val),val是设置的值。computed不支持异步操作
watch 监听data里面指定数据模型的变化。和computed的用法一样。但是watch支持异步。
template对v-show不起作用。相同的组件要加上key值重新渲染,template在渲染的时候会去掉template标签只显示内部子元素。
Vue的生命周期:beforeCreate()实例创建之前、created()实例创建之后、beforeMount()挂载dom元素之前、mounted()挂载dom之后、beforeUpdate()数据改变之前、updated()数据改变之后、beforeDestroy()销毁之前、destroyed销毁之后
在这里插入图片描述Class动态绑定:
1.对象形式,{active:isActive} {className:数据模型}
2.数组语法,[activeClass,hasError]数组里面写数据模型。
3.表达式: " isActive ? ‘active’ : ‘’ " 三元运算符
style动态绑定:
1.对象形式。{key:value}
2.数组形式,[]数组里面写多个样式对象。
ref属性: 被用来给元素或子组件注册引用信息。
引用信息将会注册在父组件的 $refs 对象上。如果在普通的 DOM 元素上使用,
引用指向的就是 DOM 元素;如果用在子组件上,引用就指向组件实例
$nextTick,下一个嘀答.比如在点击事件的时候需要获取值,但是你会发现根本没有获取到。那是因为点击之后代码执行完了,页面还没渲染完毕所以没有获取到。页面渲染也是异步操作。
component组件,组件其实就是一个对象,每个组件里面都有一个template属性。局部组件的声明和定义变量一样。var tem={}; 因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如computed、watch、methods 以及生命周期钩子等。仅有的例外是像 el 这样根实例特有的选项data()要写成函数。组件嵌套那个组建需要就在那哥里面注册components
组件之间的通信:父传子是通过 给父元素动态动态属性,子组件用props=[]来接收数组里面的值可以直接使用。 字传父是通过动态给父元素绑定自定义事件.子组件在触发事件的时候发布事件(发布者) 父组件是订阅者执行事件。
slot插槽。想在组件中插入元素就要用插槽。如果没有指定的插槽,插入到默认的slot里面 是因为检测到有template则编译template放入渲染函数里面放在app里面,所以里面的代码就不执行。使用template内容替换app里面的内容。所以不显示。要用到插槽才能显示子组件调用父组件的方法 slot父组件调用子组件的方法 this.$refs.组件名
keep-alive是vue提供的标签,缓存在切换组件的时候不让销毁
兄弟通信:var EventBus = new Vue();//生成vue实例
EventBus.$emit(‘red’)发布消息。 EventBus.$on(‘red’, () => { this.isRed = true })订阅。
js文件是同步执行的。
想让js异步执行有两种方法: async 和 defer 属性
注: 所有的defer 脚本保证是按顺序依次执行的。
async属性是HTML5新增的。作用和defer类似,但是它将在下载后尽快执行,不能保证脚本会按顺序执行。它们将在onload 事件之前完成。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值