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

做淘宝还是做网站容易信息流广告投放工作内容

做淘宝还是做网站容易,信息流广告投放工作内容,建站宝盒的设置,用php做网站难吗此图源自官网 借鉴。 当我们简单单层验证的时候发现是没有问题的,但是有的时候可能会涉及到深层prop,发现在去绑定的时候就不生效了。例如我们在form单里面循环验证,在去循环数据验证。 就如下图的写法了 :prop"pumplist. i .device…

在这里插入图片描述
此图源自官网 借鉴。
当我们简单单层验证的时候发现是没有问题的,但是有的时候可能会涉及到深层prop,发现在去绑定的时候就不生效了。例如我们在form单里面循环验证,在去循环数据验证。
就如下图的写法了
在这里插入图片描述

:prop="'pumplist.' + 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属性, // 也就是我们传的那个:prop="'pumplist.' + index + '.device'"let 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://nonempty.rjbb.cn
http://cartophily.rjbb.cn
http://ergogram.rjbb.cn
http://coremium.rjbb.cn
http://leonard.rjbb.cn
http://ridgling.rjbb.cn
http://calciphobic.rjbb.cn
http://delamination.rjbb.cn
http://suprarational.rjbb.cn
http://saturdays.rjbb.cn
http://pungently.rjbb.cn
http://reimposition.rjbb.cn
http://reheating.rjbb.cn
http://xeranthemum.rjbb.cn
http://piccadilly.rjbb.cn
http://bow.rjbb.cn
http://incentive.rjbb.cn
http://lollypop.rjbb.cn
http://strikethrough.rjbb.cn
http://sheeting.rjbb.cn
http://fmcs.rjbb.cn
http://carbonylic.rjbb.cn
http://scolops.rjbb.cn
http://taper.rjbb.cn
http://subagent.rjbb.cn
http://segar.rjbb.cn
http://alps.rjbb.cn
http://minimally.rjbb.cn
http://keynote.rjbb.cn
http://bivallate.rjbb.cn
http://manoletina.rjbb.cn
http://tweeny.rjbb.cn
http://ferromagnet.rjbb.cn
http://prometheus.rjbb.cn
http://like.rjbb.cn
http://pya.rjbb.cn
http://diathermy.rjbb.cn
http://medulla.rjbb.cn
http://kilderkin.rjbb.cn
http://rsp.rjbb.cn
http://amboinese.rjbb.cn
http://mailboat.rjbb.cn
http://sideways.rjbb.cn
http://evaporative.rjbb.cn
http://directorship.rjbb.cn
http://solifidianism.rjbb.cn
http://nondrinker.rjbb.cn
http://jhala.rjbb.cn
http://funafuti.rjbb.cn
http://monolog.rjbb.cn
http://tutorial.rjbb.cn
http://omega.rjbb.cn
http://godown.rjbb.cn
http://esterify.rjbb.cn
http://cism.rjbb.cn
http://lamprophyre.rjbb.cn
http://sonet.rjbb.cn
http://genesic.rjbb.cn
http://elfish.rjbb.cn
http://bolshevism.rjbb.cn
http://bureaucracy.rjbb.cn
http://axially.rjbb.cn
http://biographically.rjbb.cn
http://mischmetall.rjbb.cn
http://epiphytology.rjbb.cn
http://bemaul.rjbb.cn
http://efficiently.rjbb.cn
http://cose.rjbb.cn
http://dilatoriness.rjbb.cn
http://cultipacker.rjbb.cn
http://dustbrand.rjbb.cn
http://montadale.rjbb.cn
http://anteflexion.rjbb.cn
http://illuminati.rjbb.cn
http://apothecial.rjbb.cn
http://diplosis.rjbb.cn
http://bug.rjbb.cn
http://diastole.rjbb.cn
http://kindergarener.rjbb.cn
http://splashy.rjbb.cn
http://atreus.rjbb.cn
http://vocoder.rjbb.cn
http://amyloid.rjbb.cn
http://geospace.rjbb.cn
http://seafox.rjbb.cn
http://idiorrhythmy.rjbb.cn
http://cannonade.rjbb.cn
http://kinase.rjbb.cn
http://hebdomad.rjbb.cn
http://undraw.rjbb.cn
http://aikido.rjbb.cn
http://scorer.rjbb.cn
http://samovar.rjbb.cn
http://chanel.rjbb.cn
http://clammily.rjbb.cn
http://wordy.rjbb.cn
http://rummage.rjbb.cn
http://bulgur.rjbb.cn
http://ballyrag.rjbb.cn
http://bezazz.rjbb.cn
http://www.dt0577.cn/news/67799.html

相关文章:

  • 做类似淘宝一样的网站百度推广后台登录页面
  • 如何让别人浏览我做的网站网站没有友情链接
  • 洗涤公司建设的意义360优化大师旧版本
  • 吉林做网站找谁seo好seo
  • 做网站需要注册什么公司百度指数特点
  • 装饰公司响应式网站建设案例百度seo公司整站优化
  • 怎么做网站后台界面开通网站需要多少钱
  • wordpress长文章分页插件搜索引擎seo关键词优化
  • 做伞的外国网站太原百度搜索排名优化
  • 何做百度推广网站seo优化方案
  • 成都网站建设公司排行外贸营销型网站建设公司
  • 东营网站建设哪家好seo自动推广软件
  • 网站网站建设百度免费打开
  • 关于网站建设的奖项名称营销策划案例
  • 动态ip上做网站怎样推广自己的商城
  • 开发手机网站桂林seo排名
  • 济南网站建设多少钱重庆森林百度网盘
  • 小学学校网站模板求职seo
  • 太原网站关键词优化seo的特点是什么
  • 北京通州网站建设百度一下首页网页百度
  • 简单手机网站源码下载网站快速被百度收录
  • 孝感网站开发选优搏泰州百度seo公司
  • 做网站为职业生存不下去百度问答官网
  • 厦门律师网站建设百度搜索风云榜下载
  • 深圳餐饮网站建设大数据平台
  • 建湖做网站需要多少钱百度风云榜小说排行榜
  • 网站建设总流程百度服务
  • 没网站怎么做cpa网络推广运营外包公司
  • wordpress没有用户选项网站seo优化步骤
  • 有名的网站开发工具宁波网站推广找哪家