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

方太官方网站的建设情况湖南seo优化价格

方太官方网站的建设情况,湖南seo优化价格,北京装饰公司设计,wordpress运行php 404错误此图源自官网 借鉴。 当我们简单单层验证的时候发现是没有问题的#xff0c;但是有的时候可能会涉及到深层prop#xff0c;发现在去绑定的时候就不生效了。例如我们在form单里面循环验证#xff0c;在去循环数据验证。 就如下图的写法了 :proppumplist. i .device… 此图源自官网 借鉴。 当我们简单单层验证的时候发现是没有问题的但是有的时候可能会涉及到深层prop发现在去绑定的时候就不生效了。例如我们在form单里面循环验证在去循环数据验证。 就如下图的写法了 :proppumplist. i .device。切记 在form 单中的数据 是一定要和 绑定的 :model“xxxx” 关联的否则可能会报错Error in mounted hook。 因为element要判断prop传递的值是否合法的话, 就只能用 一个obj 一个key 通过key in obj 这样的方式来判断, 而如果我们不把 要循环或者要绑定的某值yyy 放到 :model 的 xxxx中, form-item在mounted的时候 是拿不到外面this的data的, 所以他无法判断 当前传进来的pumplist到底是谁, 也就没有办法使用key in obj.。 去看一下element-ui的源码, 下面是源码环节: 1.找到packages/form/src/form-item.vue这个文件 2. 我们根据他的报错来分析, 首先他说mounted hook中报错, 那我们就直接来看这个hook做了什么事情: mounted() {if (this.prop) {this.dispatch(ElForm, el.form.addField, [this]); // 这一步不用管let initialValue this.fieldValue; // 取得fieldvalue// 判断fieldvalue是不是数组, 如果是数组则合并if (Array.isArray(initialValue)) {initialValue [].concat(initialValue);}// 给this定义一个initialValue属性Object.defineProperty(this, initialValue, {value: initialValue});this.addValidateEvents();}} 这段代码的第一反应是不是 就取了个值 赋了个值,如果是那就是 有一个盲点就是this.fieldValue这里, 这是一个什么东西呢不知道 去看一下。 computed: {fieldValue() {// 1.拿到当前form的model属性(这里很重要, 要记住这一步)const model this.form.model;if (!model || !this.prop) { return; }// 2.拿到当前form-item的prop属性, // 也就是我们传的那个:proppumplist. index .devicelet path this.prop;if (path.indexOf(:) ! -1) {path path.replace(/:/, .);}// 3.将model和path传给了getPropByPath方法return getPropByPath(model, path, true).v;} }代码翻到fieldValue这里, 发现这是一个computed属性(步骤见注释), 发现最终返回getPropByPath方法的返回结果, 我们接着去看一下这个方法. 我们发现这个方法是在utils/util下的一个方法 有一种眼熟的感觉越看越像js的一个面试题 function getValue(obj, path) {... }const obj { a: { b: { c: 1 } } }getValue(obj, a.b.c); // 1看到这里 我们首先需要明确 这个方法的作用就是 通过嵌套字符串key 拿到key对应的value, 那我们来看一下element是怎么做的。 首先先看第一句代码 let tempObj obj, 这里第一次的obj是谁呢是不是上面传过来的this.form.model啊? 我们来看一下 我们代码中传输的model是什么就可以了要匹配或者包含在内。 我们这里只需要记住, 我们传的是一个对象{ name: ‘’ }好的 我们再来看下一步, path 正则匹配, 最后的结果是keyArr [‘tableData’, 0, ‘name’]下面的代码就是走keyArr的循环了, 这里我们是3次循环, 因为keyArr只有三个元素 我们还是来捋一下 第一次循环, 此时的tempObj是 { name: ‘’ }, key是tableData, key in tempObj?, 很显然是false, 所以直接走了else, 触发了throw new Error 其实看到这里我们就明白了, element在做prop判断的时候, 是通过判断key在不在model中的方式 来判断path是否合法的, 那我们知道这个原理之后, 只需要将我们的代码稍稍改动一下即可。
http://www.dnsts.com.cn/news/71168.html

相关文章:

  • 用手机网站做app企业网站关于我们
  • 学生做防溺水题的网站湛江定制建站企业网站
  • 两学一做网站链接链接买卖是什么意思
  • 东莞网站的制作设计网站开发设计总结
  • 写作投稿网站有祥云网站
  • 鲜花商城网站建设网站设计工具更好的做网站
  • 网站怎么做自营销免费的行情网站推荐大全
  • 网站开发程序用什么好两学一做网站
  • 最优秀的佛山网站建设网站建设有什么意义
  • 远洋国际一期官方网站建设企业年报网上申报流程
  • 哪里需要人做钓鱼网站北京现在可以自由出入吗
  • 太原网站建设方案优化wordpress积分 充值
  • 织梦cms 做视频网站月夜直播在线看免费
  • 金华网站制作系统医院网站建设趋势
  • 用dw做的网站怎么上线教学系统设计 网站开发
  • 杭州网站建设 双收网络公司网站做的不错的
  • 铭坐网站建设绍兴网站建设解决方案
  • 朝阳网站seo立方米网站
  • 网站开发页面设计报告俄罗斯最新消息
  • 南宁如何做百度的网站南昌seo推广方式
  • 灰色词网站seo台州网站制作费用
  • 房地产行业网站开发用英文字母做网站关键词
  • 怎么提高网站响应速度html网站怎么做的
  • 江西住建云网站服装商店的网站建设要求
  • 正在备案怎么建网站安庆网站开发人员
  • 中山 网站建设开发沈阳做网站好的
  • php是怎么设计网站的芜湖公司网站建设
  • 关于网站制作seo如何建立优化网站
  • 哪个网站做浏览器主页好wordpress 导航 主题
  • 做电影网站程序好用吗龙华网页设计公司网站