首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >vue一些笔记20200403

vue一些笔记20200403

作者头像
wade
发布2020-04-23 16:10:42
发布2020-04-23 16:10:42
36600
代码可运行
举报
文章被收录于专栏:coding个人笔记coding个人笔记
运行总次数:0
代码可运行

vue是渐进式框架:

你可以只用做模板引擎,或者加上vue提供的路由,或者加上全局状态管理vuex,或者直接使用vue-cli直接搭建项目。你可以在现有程序使用vue,也可以用vue搭建工程。

vue核心是响应式:

通过对data数据变更实现页面更新。

vue的mvvm理解:

view视图层,viewModel是vue的实例,也就是vm(new Vue),model数据,也就是vue里面的data。

vue响应式原理;l

vue通过发布订阅和数据劫持的方法对数据进行监听,会给每个默认属性进行监听,深层次的也会递归进行监听,会对改变原数组的数组方法进行函数劫持。因为要对数据进行递归监听,这也是vue性能的一个痛点。到了vue3用proxy进行重写,不需要递归监听,但是proxy兼容性不好。

vue数据不更新到页面:

之前分享过vue数据不更新渲染,其实是错的,vue只能监听默认的属性,数组的索引发生变化或者改变数组长度也不会触发更新。比如你在data定义一个obj: {},然后在其它地方给obj定义一个属性,或者你定义一个数组arr,,然后直接arr[0]赋值,这些都不会进行监听,但是数据是变化的。有可能通过这两个方法页面发生变化了,那是因为有其它监听的数据发生变化,页面重新渲染,会顺带帮你把数据渲染到页面。使用$set可以监听或者$ForceUpdate会强制渲染。

vue中render、template、el:

vue中如果render、template、el都存在的情况下,render优先级最高,接着是template,最后是el:

代码语言:javascript
代码运行次数:0
运行
复制
var vm = new Vue({
  render: function(h){
    return h('div', {}, '这是render属性方式渲染。')
  },
  template: '<div>这是template属性模板渲染。</div>',
  el: '#app',
});

vue中提供的template:

vue提供的template是无意义的,具有隐藏性、无效性、任意性,如果你用v-if的时候,使用template包裹,渲染的时候template会不存在。v-show不能用在template上。循环的key也不能放在template上。

v-if、v-show、v-for:

v-if是控制dom是否存在,v-shosw是控制样式display,v-if会重新渲染元素或者组件,并且重新执行涉及的函数。v-for的优先级高于v-if,性能会差一些,所以尽量不要一起使用。

v-model其实是语法糖:

v-model其实是:value和@input方法的语法糖,下面两个等价:

代码语言:javascript
代码运行次数:0
运行
复制
<input type="text" :value="msg" @input="(e) => msg = e.target.value">
<input v-model="msg">

vue组件核心:

组件的优点很多,重用、易维护、解耦等,vue中组件还有一个核心的优点,就是组件级更新,因为每个组件都有自己一个watcher,数据更新了只是重新渲染自己组件,而不会是整个页面。

.vue文件

.vue的script中的export default出去的对象,相当于Vue.extends({})里面的这个对象。import .vue文件,获取的是一个对象,可以打印看看,里面有render函数等。

$bus:

给vue挂一个new Vue,因为每个vue实例都有$on、$emit、$off的事件,用来任意组件监听、通信,但是无法控制监听命名重复,不适合大规模使用,而且必须先监听再发布:

代码语言:javascript
代码运行次数:0
运行
复制
Vue.prototype.$bus = new Vue();

(完)

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 coding个人笔记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档