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

滨海做网站鞍山人才网怎么查档案

滨海做网站,鞍山人才网怎么查档案,wordpress博客主题汉化,网页制作公司需要什么资质目录 一、Vue3 从入门到进阶 1.1、Vue3 相比于 Vue2 好在哪里#xff1f; 1.2、创建 vue-cli3 脚手架 1.3、Vue3 的使用 1.3.1、拉开序幕的 setup 1.3.2、ref 函数 什么是响应式数据 ref 响应式处理 1.3.3、reactive 1.3.4、reactive 对比 ref 1.3.5、setup 的参数… 目录 一、Vue3 从入门到进阶 1.1、Vue3 相比于 Vue2 好在哪里 1.2、创建 vue-cli3 脚手架 1.3、Vue3 的使用 1.3.1、拉开序幕的 setup 1.3.2、ref 函数 什么是响应式数据 ref 响应式处理 1.3.3、reactive 1.3.4、reactive 对比 ref 1.3.5、setup 的参数props、context 1.3.6、computed 计算属性 一、Vue3 从入门到进阶 1.1、Vue3 相比于 Vue2 好在哪里 Ps以下数据来源于官网 a性能提升 打包大小减少 41%.初次渲染快 55%更新渲染快 133%.内存减少 54%....... b 源码升级 使用 Proxy 代替 defineProperty 实现响应式.重写虚拟 DOM 的实现和 Tree-Shaking...... c拥抱 TypeScript Vue3 可以更好的支持 TypeScript d新特性 setup 配置ref 与 reactivewatch 与 watchEffectprovide 与 inject 1.2、创建 vue-cli3 脚手架 Ps具体怎么创建可以看这篇 http://t.csdnimg.cn/rq4slhttp://t.csdnimg.cn/rq4sl a查看当前 vue-cli 的版本确保在 4.5.0 以上. b安装或者升级 vue/cli npm install -g vue/cli c创建 vue create vue_demo d启动 cd vue_demo npm run serve e修改 vue.config.js 内容为如下内容就是为了关闭语法检查 fmain.js 说明 //引入的不再是 vue 构造函数了, 引入的是一个名为 createApp 的工厂函数 import { createApp } from vue import App from ./App.vue//创建应用实例对象 —— app const app createApp(App) //挂载 app.mount(#app)g新特性之一vue3 的模板接口可以没有根标签 1.3、Vue3 的使用 1.3.1、拉开序幕的 setup vue3 中有一个新的配置项值是一个函数.  他是所有组合 API 的“舞台”也就是说之前 vue2 组件中使用到的 data、methods...... 都要配置在 setup 中. asetup 函数有三种返回值 若返回一个对象那么对象的属性、方法在模板种就可以使用了.若返回的是一个渲染函数那么就可以自定义渲染内容后面细讲当前只做了解. b注意点请忘掉 vue2 中的 data、methods... 现在是 vue3 的时代 尽量不要和 vue2.x 混用原因如下 vue2.x 配置的 data、methods、 computed....... 种可以访问到 setup 中的属性方法但是 setup 中不能访问到 vue2.x 配置中的 data、methos、computed......如果有重名setup 优先.setup 不是一个 async 函数因为返回值不再是 return 的对象而是 promise 模板看不到 return 对象中的属性. c案例如下 template!-- vue3 中模板接口可以没有跟标签 --div你好/divdiv欢迎来到 vue3/divdiv{{ name }}/divbutton clicksayHi点我进行自我介绍~/button /templatescript export default {name: App,//这里暂时限不考虑响应式的问题setup() {//数据let name cyk;let age 18;//方法function sayHi() {alert(大家好啊我是${name}, 今年 ${age} 了);}return {//模板中需要什么数据就返回什么name,age,sayHi,};}, }; /script点击按钮效果如下  d你会发现当你定义的变量越多需要 return 的就越多代码可读性降低了不少.  我们实际上可以把一组关联的数据封装到对象中这样直接返回这个对象就可以了这样也要注意的是需要通过 对象.属性名 的方式获取属性.  templatedivname: {{ user.name }}/divdivage: {{ user.age }}/divdivweight: {{ user.weight }}/div /templatescriptexport default {name: App,setup() {let user {name: cyk,age: 18,weight: 60kg,};return {user,};}, }; /scripte当然有一天你发现自己定义的对象越来越多最后 return 的东西越来越多可读性又降低了那么你可以借鉴 vue2 的方式这样定义数据doge setup() {let data {student: {//...},teacher: {//...},//......};return {data,};}, 1.3.2、ref 函数 什么是响应式数据 你可以简单的将响应式数据理解为动态数据也就是说你对响应式数据的修改在页面是会得到及时的反馈. 例如通过点击按钮对 name 进行修改操作同时希望页面能得到及时的反馈. 非响应式 templatedivname: {{ name }}/divbutton clickchangeName()点我改变 name/button /templatescript export default {name: App,setup() {let name cyk;function changeName() {name lyj;alert(修改完成!);}return {name,changeName,};}, }; /script点击按钮之后name 并没有修改这就是非响应式那么如果我们希望它是响应式就需要依靠 ref 函数了 ref 响应式处理 aref 就是用来处理一个响应式数据. 语法如下 // 创建一个响应式数据的引用对象(reference 对象简称 ref 对象) const xxx ref(initValue)// js 中操作数据 xxx.value// 模板中读取数据 div{{xxx}}/div 使用步骤 引入 ref 组件这一步很容易忘记定义 响应式 对象返回对象 通过 console.log(ref(lyj))就可以观察到以下结果 ref 底层是通过 Object.defineProperty() 的 get 和 set 来实现响应式的  b例如通过点击按钮对 name 进行修改操作同时希望页面能得到及时的反馈. templatedivname: {{ name }}/divbutton clickchangeName()点我改变 name/button /templatescript import { ref } from vue; //引入 ref 组件export default {name: App,setup() {let name ref(cyk); //这里返回的是一个对象通过 .value 就可以拿到值function changeName() {name.value lyj; //必须通过 value 才能获取到对应的值alert(修改完成!);}return {name,changeName,};}, }; /script点击按钮前 点击按钮后 c那么问题来了如果 ref 中的值是一个嵌套对象该怎么获取里面的值呢难道每嵌套一层都需要使用 value 来获取一层么 如果是嵌套对象我们可以先这样理解ref 就相当于对对象的一层封装嘛通过 .value 的方式就可以拿到对象此时对象无论怎么封装原先 js 语法怎么获取现在就怎么处理. 如下怎么获取 name 和 c 呢 let user ref({name: cyk,a: {b: {c: 666,},},}); name 就不多说了首先 ref 是通过里面的值是一个 {...} 对象因此通过 value 就可以拿到这个对象那么接下来通过对象拿属性值的方式获取即可. function getUser() {console.log(user);console.log(user.value.name);console.log(user.value.a.b.c);} 对于对象的处理 ref 底层是 调用了 reactive 的 Proxy 来实现响应式的并通过 Reflect 操作内部的数据. 1.3.3、reactive a通过上面讲述可以看出ref 每次获取值都需要通过 .value 的方法获取很麻烦.  那么接下来要将的 reactive 就是用来解决这个问题的. breactive 就是用来定义个 对象类型 的响应式数据基本类型不能用它只能使用 ref 函数. Ps实在想用你可以把基本类型封装成对象啊 creactive 内部是基于 ES6 的 Proxy 实现通过代理对象操作源对象内部数据进行操作. d用法如下 templatediv{{ user.name }}/divdiv{{ user.age }}/divdiv{{ user.likes[2] }}/divdiv{{ user.a.b.c }}/divbutton clickchangeInfo点我改变信息/button /templatescript import { ref, reactive } from vue; //引入 reactive export default {name: App,setup() {let tips ref(1);let user reactive({name: cyk,age: 18,likes: [唱歌, 弹琴, 谈情],a: {b: {c: 666,},},});function changeInfo() {// ref 定义的响应式对象需要通过 .value 的方式获取tips.value 2;// reactive 定义的响应式对象可以直接获取user.name lyj;user.age 17;user.likes[2] 谈锤子;user.a.b.c 999;}return {tips,user,changeInfo,};}, }; /script 1.3.4、reactive 对比 ref a定义数据的角度 ref 可定义的数据基本类型、对象或数组类型 但是对于 对象或数组类型内部是通过 reactive 转为 代理对象。reactive 可定义的数据对象或数组类型. b使用的角度 ref操作数据需要 .value   在模板中读取数据不需要 .valuereactive操作和读取数据都不用 .value c原理角度 ref通过 Object.defineProperty() 的 get 与 set 来实现响应式.reactive通过使用 Proxy 来实现响应式并通过 Reflect 操作源对象内部的数据. 1.3.5、setup 的参数props、context setup 的参数如下 aprops值为对象包含组件外部传递过来且组件内部声明接收了的属性 例如父组件向 User 子组件传递数据 templateUser namecyk :ageage / /templatescript import User from ./views/User.vue; //引入自定义的组件 User export default {name: App,components: { User }, //声明setup() {let age 18;return {age,};}, }; /script User 子组件中使用数据 templateh1我是一个学生/h1divname: {{ user.name }}/divdivage: {{ user.age }}/div /templatescript export default {name: User,props: [name, age],setup(props) {let user {name: props.name,age: props.age,};return {user,};}, }; /scriptbcontext上下文对象 atts值为对象包含组件外传递过来但没有在 props 配置中声明的属性相当于 this.$attrs.slots受到的插槽内容相当于 this.$slots.emit分发自定义事件的函数相当于 this.$emit. 父组件中定义 hello 事件自定义名为 helloBtn 传递给子组件 User. template!-- 自定义传递的事件名当前组件 setup return 的函数 --User helloBtnhello namecyk :ageage / /templatescript import User from ./views/User.vue; //引入自定义的组件 User export default {name: App,components: { User }, //声明setup() {let age 18;function hello() {alert(hello);}return {age,hello,};}, }; /script子组件中通过 emits 接收 helloBtn 事件 templateh1我是一个学生/h1divname: {{ user.name }}/divdivage: {{ user.age }}/divbutton clicktest父组件传递的事件/button /templatescript export default {name: User,props: [name, age],//拿到父组件传递的事件他会交给 setup 中的 context 参数emits: [helloBtn],setup(props, context) {let user {name: props.name,age: props.age,};function test() {//拿到父组件的事件context.emit(helloBtn);}return {user,test,};}, }; /script1.3.6、computed 计算属性 与 vue2.x 中的 computed 配置功能一样凡是需要实时计算的地方就使用它即可 a简写没有考虑计算属性被修改的情况 templateh1求和/h1divinput typenumber v-modeltest.a //divdivinput typenumber v-modeltest.b //divdiv结果: {{ result }}/div /templatescript import { computed, reactive } from vue; export default {name: App,setup() {let test reactive({a: 0,b: 0,});let result computed(() {return test.a test.b;});return {test,result,};}, }; /scriptb完整写法重写 get  set 方法考虑读和写 假设需求是读取时要 a 和 b 的和修改时要求得到  result 的均分到 a 和 b  templateh1求和/h1divinput typenumber v-modeltest.a //divdivinput typenumber v-modeltest.b //divdivspan结果: /spaninput typenumber v-modelresult //div /templatescript import { computed, reactive } from vue; export default {name: App,setup() {let test reactive({a: 0,b: 0,});//简写没有考虑计算属性被修改的情况// let result computed(() {// return test.a test.b;// });//完整写法重写 get set 方法let result computed({get() {return test.a test.b;},set(value) {test.a value / 2;test.b value / 2;},});return {test,result,};}, }; /script 当 a  5、b  9 读取如下 当 result 15a 和 b 被修改的情况如下 Ps下一篇 “ Vue3 - 从入门到进阶这一套就够了案例 效果演示二”
http://www.pierceye.com/news/644647/

相关文章:

  • 门户网站是指六盘水做网站
  • 自助建站系统免费加盟设计用哪些网站有哪些
  • 太原制作公司网站无锡网站优化公司
  • html5 wap网站模板动画广州网站建设 信科公司
  • 西安门户网站开发wordpress如何在文章底部添加目录
  • 设计婚纱网站宁波网站优化服务
  • 建设电子商务网站的花费那些公司做网站比较厉害
  • 桂林建站平台哪家好东莞百度快速排名提升
  • 网页设计框架哈尔滨网络优化推广公司
  • 深圳专业做网站技术西安网站设计报价
  • 做电影资源网站动图制作网站
  • 网站域名免费申请深圳龙华怎么样
  • 织梦建设手机网站wordpress中portfolio
  • 网站开发的检索速度在啥范围之内设计网站大全网
  • 外国人学做中国菜的网站php购物网站开发成品
  • 手机网站专题网站建设私活
  • 自建网站 备案视频号广告推广
  • 青岛网站优化东莞市场监督管理局官网
  • 深圳珠宝网站设计临沂seo优化
  • 东莞网站建项目代理
  • 心理咨询网站开发营销型网站的建设要求都有什么
  • 优化网站要怎么做中国外协机械加工订单网
  • 运动健身型网站开发永久网站空间
  • 好的网站建设公司排名小程序怎么引流推广
  • 建设部网站 光纤到户平顶山 网站建设公司
  • 网站建设费计入哪个科目赛罕区城乡建设局网站
  • 计算机协会网站模板如何做微信下单小程序
  • 购物网站开发流程图大连装修公司
  • 网站开发定制推广杭州手表网站域名
  • 惠州网站建设方案推广企业网站必备模块