当前位置: 首页 > news >正文

上海opencart网站建设网站开发风险

上海opencart网站建设,网站开发风险,软件开发和网页设计的区别,做鞋设备网站原文地址#xff1a;https://www.cnblogs.com/limou956259/p/17195546.html 1、双向数据绑定原理不同 vue2#xff1a;vue2的双向数据绑定是利用ES5的一个API#xff1a;Object.definePropert() 对数据进行劫持#xff0c;结合发布订阅模式的方式来实现的。vue3#xff…原文地址https://www.cnblogs.com/limou956259/p/17195546.html 1、双向数据绑定原理不同 vue2vue2的双向数据绑定是利用ES5的一个APIObject.definePropert() 对数据进行劫持结合发布订阅模式的方式来实现的。vue3vue3中使用了ES6的Proxy API对数据代理。相比vue2.x使用proxy的优势如下defineProperty只能监听某个属性不能对全对象监听可以省去for in闭包等内容来提升效率(直接绑定整个对象即可)可以监听数组不用再去单独的对数组做特异性操作vue3.x可以检测到数组内部数据的变化。 2、是否支持碎片 vue2vue2不支持碎片。vue3vue3支持碎片Fragments就是说可以拥有多个根节点。 3、API类型不同 vue2vue2使用选项类型api选项型api在代码里分割了不同的属性data,computed,methods等。vue3vue3使用组合式api新的合成型api能让我们使用方法来分割相比于旧的api使用属性来分组这样代码会更加简便和整洁。 4、定义数据变量和方法不同 vue2vue2是把数据放入data中在vue2中定义数据变量是data(){}创建的方法要在methods:{}中。vue3vue3就需要使用一个新的setup()方法此方法在组件初始化构造的时候触发。使用以下三个步骤来建立反应性数据从vue引入reactive使用reactive() 方法来声明数据为响应性数据使用setup()方法来返回我们的响应性数据从而template可以获取这些响应性数据。 5、生命周期钩子函数不同 vue2中的生命周期 beforeCreate 组件创建之前  created 组件创建之后  beforeMount 组价挂载到页面之前执行  mounted 组件挂载到页面之后执行  beforeUpdate 组件更新之前  updated 组件更新之后 vue3vue3中的生命周期 setup 开始创建组件前 onBeforeMount 组价挂载到页面之前执行  onMounted 组件挂载到页面之后执行  onBeforeUpdate 组件更新之前  onUpdated 组件更新之后 而且vue3.x 生命周期在调用前需要先进行引入。除了这些钩子函数外vue3.x还增加了onRenderTracked 和onRenderTriggered函数。 6、父子传参不同 vue2父传子用props,子传父用事件 Emitting Events。在vue2中会调用this$emit然后传入事件名和对象。  vue3父传子用props,子传父用事件 Emitting Events。在vue3中的setup()中的第二个参数content对象中就有emit那么我们只要在setup()接收第二个参数中使用分解对象法取出emit就可以在setup方法中随意使用了。 7、指令与插槽不同 vue2vue2中使用slot可以直接使用slotv-for与v-if在vue2中优先级高的是v-for指令而且不建议一起使用。  vue3vue3中必须使用v-slot的形式vue3中v-for与v-if,只会把当前v-if当做v-for中的一个判断语句不会相互冲突vue3中移除keyCode作为v-on的修饰符当然也不支持config.keyCodesvue3中移除v-on.native修饰符vue3中移除过滤器filter。 8、main.js文件不同 vue2vue2中我们可以使用pototype(原型)的形式去进行操作引入的是构造函数。  vue3vue3中需要使用结构的形式进行操作引入的是工厂函数vue3中app组件中可以没有根标签。 关键词 组合式apiproxy支持碎片组合式apicomposition生命周期 二、vue3新增的响应式相关的函数 refreactivereadonlycomputedwatchwatchEffect 关键词 refreactivereadonlycomputedwatchwatchEffect 三、ref的理解 1、功能接受一个内部值返回一个响应式的、可更改的 ref 对象ref对象只有一个属性value。 2、使用ref对象模板上不需要写 .value 属性会自动解构在js中使用 .value 来完成数据的读写。 3、ref接收基本类型和引用类型 ref可以接收基本类型。 ref也可以接收引用类型如果将一个对象传给 ref函数那么这个对象将通过 reactive() 转为具有深层次响应式的对象。 关键词 value响应式 四、reactive的理解 1、功能 接受一个对象返回一个对象的响应式代理proxy。返回的对象以及其中嵌套的对象都会通过 ES Proxy 包裹因此不等于源对象建议只使用响应式代理避免使用原始对象。 响应式转换是“深层”的它会影响到所有嵌套的属性。一个响应式对象也将深层地解包任何 ref 属性同时保持响应性。 2、注意点当访问到某个响应式数组或 Map 这样的原生集合类型中的 ref 元素时不会执行 ref 的解包。 关键词 对象、proxy、深层、数组、Map 五、readonly 1、功能接受一个对象 (不论是响应式还是普通的) 或是一个 ref返回一个原值的只读代理。 2、只读代理是深层的对任何嵌套属性的访问都将是只读的。它的 ref 解包行为与 reactive() 相同但解包得到的值是只读的。 关键词 只读readonly 六、computed 功能computed是计算属性。和选项式api中的计算属性实现的功能一样。 参数 可以接受一个 getter 函数返回一个只读的响应式 ref 对象。该 ref 通过 .value 暴露 getter 函数的返回值。 也可以接受一个带有 get 和 set 函数的对象来创建一个可写的 ref 对象。 七、watch 功能侦听数据的变化和选项式api中的watch实现的功能一样组合式api中watch功能更加强大灵活。默认是懒侦听的即仅在侦听源发生变化时才执行回调函数。 参数 第一个参数侦听器的源可以是以下几种 一个函数返回一个值的函数 一个 ref 一个响应式对象 ...或是由以上类型的值组成的数组 第二个参数在第一个参数的值发生变化时要调用的回调函数。这个回调函数接受三个参数新值、旧值以及一个用于注册副作用清理的回调函数。该回调函数会在               副作用下一次重新执行前调用可以用来清除无效的副作用例如等待中的异步请求。 当侦听多个来源时回调函数接受两个数组分别对应来源数组中的新值和旧值。 第三个参数可选的 是一个对象支持以下这些选项 immediate在侦听器创建时立即触发回调。第一次调用时旧值是 undefined。 deep如果源是对象强制深度遍历以便在深层级变更时触发回调。参考深层侦听器。 关键词 侦听监听副作用immediatedeep深度遍历懒侦听 八、watchEffect 功能 watchEffect也是监听数据但是它会立即运行一个函数而不是懒侦听。watchEffect的侦听依赖的数据watchEffect里使用了哪个数据哪个数据就是    watchEffect的依赖。 参数 第一个参数要运行的副作用函数。这个副作用函数的参数也是一个函数注册副作用清理的回调函数。该回调函数会在副作用下一次重新执行前调用可以用来清除无效的副作用例如等待中的异步请求。和watch的第二个参数中回调函数的第三参数一样。 第二个参数可选的选项可以用来调整副作用的刷新时机或调试副作用的依赖。因为侦听默认是在vue组件更新前调用如果你希望组件更新后调用可以把第二个参数传入{ flush: post } 返回值用来停止该副作用的函数。 关键词 侦听监听副作用依赖不是懒侦听 九、watch和watchEffect的区别 与 watchEffect() 相比watch() 使我们可以 懒执行副作用watch是懒侦听执行的watchEffect是首次就会执行 触发侦听器的来源watch是明确知道由哪个依赖引起的侦听watchEffect不明确 可以访问所侦听状态的前一个值和当前值watch可以watchEffect不可以。 关键词 懒侦听、当前值、前一个值新值旧值 十、setup函数的参数 props接收组件的属性 context上下文对象包括 slotsattrsemitexpose 关键词 slotsattrsemitsexpose 十一、setup语法糖写法如何获取setup函数的参数 setup函数的参数 setup语法糖  props defineProps  context.emit defineEmits  context.expose: defineExpose  context.slots useSlots  context.attrs: useAttrs 关键词 definePropsdefineEmitsdefineExposeuseSlotsuseAttrs 十二、vue3和vue2生命周期的变化以及compositionApi中的生命周期钩子函数 1、Vue3.0中可以继续使用Vue2.x中的生命周期钩子但有有两个被更名 beforeDestroy改名为 beforeUnmount  destroyed改名为 unmounted 2、Vue3.0也提供了 Composition API 形式的生命周期钩子Option API形式的钩子对应关系如下 beforeCreatesetup() createdsetup() beforeMount onBeforeMount mountedonMounted beforeUpdateonBeforeUpdate updated onUpdated beforeUnmount onBeforeUnmount unmounted onUnmounted 关键词 beforeUnmountunmountedonBeforeMountonMountedonBeforeUpdateonUpdatedonBeforeUnmountonUnmounted 十三、Vue3.X和vue2.X中的响应式原理分别是什么区别是什么 1、vue2.x的响应式 实现原理 对象类型通过Object.defineProperty()对属性的读取、修改进行拦截数据劫持。 数组类型通过重写更新数组的一系列方法如pushpop等来实现拦截。对数组的变更方法进行了包裹。 存在问题 新增属性、删除属性, 界面不会更新。 直接通过下标修改数组, 界面不会自动更新。 2、Vue3.0的响应式 实现原理: 通过Proxy代理: 拦截对象中任意属性的变化, 包括属性值的读写、属性的添加、属性的删除等。 通过Reflect反射: 对源对象的属性进行操作。 十四、vue3响应式数据的判断 isRef: 检查一个值是否为一个 ref 对象  isReactive: 检查一个对象是否是由 reactive 创建的响应式代理  isReadonly: 检查一个对象是否是由 readonly 创建的只读代理  isProxy: 检查一个对象是否是由 reactive 或者 readonly 方法创建的代理 关键词 isRefisReactiveisReadonlyisProxy 十五、reactive与ref的区别 定义数据角度 ref用来定义基本类型数据。  reactive用来定义对象或数组类型数据。  备注ref也可以用来定义对象或数组类型数据, 它内部会自动通过reactive转为代理对象。  原理角度  ref通过Object.defineProperty()的get与set来实现响应式数据劫持。  reactive通过使用Proxy来实现响应式数据劫持, 并通过Reflect操作源对象内部的数据。  使用角度  ref定义的数据操作数据需要.value读取数据时模板中直接读取不需要.value。  reactive定义的数据操作数据与读取数据均不需要.value。 关键词 refreactiveProxyvalue
http://www.huolong8.cn/news/196649/

相关文章:

  • 江苏省工程建设信息网站杭州房产网官网
  • 普陀集团网站建设服务式办公室网
  • 柳市做公司网站个人网站建设方案书使用几号纸
  • 网站对于一个企业的优势织梦本地网站建设教程
  • 福建设厅官方网站做招聘网站要多久
  • 创科手机网站网站建设人员的工资分配
  • 怎么做电商网站推广怎么查有做网站的公司有哪些
  • 深圳专业建网站中国黄页网址
  • 石家庄做网站 vtkj北京 网站建设 京icp
  • 新网站建设怎么样123网络之家主页
  • 黄山做网站公司公司免费注册
  • 服务管理系统企业seo排名有 名
  • 织梦招商加盟网站源码大男人直播视频
  • 新吴区网站建设天津百度推广中心
  • 北京科技网站开发做网站全包
  • app网站建设可行性分析设计素材网站外网
  • 朝阳企业网站建设网站备案 需要什么
  • 怎么做网站图标十堰秦楚网主页
  • 天水市建设银行官方网站杭州seo博客有哪些
  • 做响应式网站设计师如何布局呢arial 网站开发是用犀利
  • dw网页制作教程动态重庆seo网站哪家好
  • 用自己网站做邮箱域名网站建设公司源码
  • 天津市做企业标准网站项目计划书怎么写
  • joomla做的网站上海地铁最新公告
  • 网站配色 蓝绿网站上传图片不成功
  • 成都网站建设外贸百度智能门户建站怎么样
  • wordpress crossapple搜索引擎优化行业
  • 制作网站难还是编程难顺德网站建设多少钱
  • vr网站制作wordpress 不更新
  • 创业网站怎么做wordpress post 模板