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

风景网页制作模板百度移动seo首选帝搜软件

风景网页制作模板,百度移动seo首选帝搜软件,成都电子商务网站,北京信息发布平台这是view系列的第四篇文章,专门介绍View组件。 作为一个Component,它总共包含js、css、xml三个标准文件,当然最重要的是view.js 首先在setup函数中对传入的参数props做了各种校验,然后扩展了subenv useSubEnv({keepLast: new Kee…

这是view系列的第四篇文章,专门介绍View组件。
作为一个Component,它总共包含js、css、xml三个标准文件,当然最重要的是view.js

首先在setup函数中对传入的参数props做了各种校验,然后扩展了subenv

        useSubEnv({keepLast: new KeepLast(),config: {...getDefaultConfig(),...this.env.config,},...Object.fromEntries(CALLBACK_RECORDER_NAMES.map((name) => [name, this.props[name] || null])),});

这个env只会传递给子组件。
然后调用了loadViews函数

 onWillStart(() => this.loadView(this.props));

在loadViews函数中,调用了viewService,然后viewService从后端加载了view(有缓存机制)

            const result = await this.viewService.loadViews({ context, resModel, views },{ actionId: this.env.config.actionId, loadActionMenus, loadIrFilters });

根据从后端返回的xml结构,代码会将xml解析成一个对象,并读取其中的属性,
下面这段代码中,读取了js_class属性,并将它设置为subType,如果设置了这个属性,系统会从views注册表中读取相关的描述符来代替默认的描述符。
描述符是一结构体(字典),我们经常用来对视图进行扩展,定义号之后需要在viewRegistry中注册它,这里才能嗲用到。

还有banner_route属性
sample属性不知道是干嘛的

const archXmlDoc = parseXML(arch.replace(/ /g, nbsp));let subType = archXmlDoc.getAttribute("js_class");const bannerRoute = archXmlDoc.getAttribute("banner_route");const sample = archXmlDoc.getAttribute("sample");const className = computeViewClassName(type, archXmlDoc, ["o_view_controller",...(props.className || "").split(" "),]);// determine ViewClass to instantiate (if not already done)if (subType) {if (viewRegistry.contains(subType)) {descr = viewRegistry.get(subType);} else {subType = null;}}

后面的代码就是根据返回值在组装viewProps

        const viewProps = {info,arch: archXmlDoc,fields,relatedModels,resModel,useSampleModel: false,className,};

然后是准备WithSearch 组件的属性

 		const finalProps = descr.props ? descr.props(viewProps, descr, this.env.config) : viewProps;// prepare the WithSearch component propsthis.Controller = descr.Controller;this.componentProps = finalProps;this.withSearchProps = {...toRaw(props),hideCustomGroupBy: props.hideCustomGroupBy || descr.hideCustomGroupBy,searchMenuTypes,SearchModel: descr.SearchModel,};

看看结尾的部分:


View.template = "web.View";
View.components = { WithSearch };
View.defaultProps = {display: {},context: {},loadActionMenus: false,loadIrFilters: false,className: "",
};
View.props = {"*": true,
};
View.searchMenuTypes = ["filter", "groupBy", "favorite"];

看看它的xml模板

  <t t-name="web.View"><WithSearch t-props="withSearchProps" t-slot-scope="search"><t t-component="Controller"t-on-click="handleActionLinks"t-props="componentProps"context="search.context"domain="search.domain"groupBy="search.groupBy"orderBy="search.orderBy"comparison="search.comparison"display="search.display"/></WithSearch></t>

WithSearch 是一个虚拟组件,它本身不渲染任何东西,里面包括了一个动态组件Controller,这个其实就是各类视图的controller组件。 那render组件呢? 是controller组件的子组件吗? 这个问题留在后面去回答。

总结一波:
view组件通过viewService后缓存或者后端获取了view的信息,包括id,arch,model等,然后通过一个虚拟组件WithSearch 包裹了一个动态的controller组件,最终显示出来,那么view组件在哪里被调用的呢?这些疑问随着学习的深入我相信终究会找到答案。


文章转载自:
http://enchorial.tbjb.cn
http://udi.tbjb.cn
http://spelunker.tbjb.cn
http://vesicant.tbjb.cn
http://anticline.tbjb.cn
http://shrinkable.tbjb.cn
http://scoring.tbjb.cn
http://methuselah.tbjb.cn
http://sodomy.tbjb.cn
http://simony.tbjb.cn
http://kromesky.tbjb.cn
http://frigg.tbjb.cn
http://ukraine.tbjb.cn
http://fulminate.tbjb.cn
http://surculus.tbjb.cn
http://smilacaceous.tbjb.cn
http://astronautess.tbjb.cn
http://seamster.tbjb.cn
http://pulsatile.tbjb.cn
http://drawer.tbjb.cn
http://evulsion.tbjb.cn
http://alkahest.tbjb.cn
http://butyrin.tbjb.cn
http://halfpennyworth.tbjb.cn
http://grammaticus.tbjb.cn
http://sandsoap.tbjb.cn
http://pewter.tbjb.cn
http://papaverin.tbjb.cn
http://gopher.tbjb.cn
http://daydream.tbjb.cn
http://indeliberately.tbjb.cn
http://salification.tbjb.cn
http://thiol.tbjb.cn
http://jumbal.tbjb.cn
http://deflationary.tbjb.cn
http://unbeautiful.tbjb.cn
http://contadino.tbjb.cn
http://actor.tbjb.cn
http://fret.tbjb.cn
http://neoplasm.tbjb.cn
http://bromal.tbjb.cn
http://handicapper.tbjb.cn
http://textuary.tbjb.cn
http://graphitoidal.tbjb.cn
http://nondiscrimination.tbjb.cn
http://vibrometer.tbjb.cn
http://unsymmetry.tbjb.cn
http://creatinine.tbjb.cn
http://illustrative.tbjb.cn
http://anthea.tbjb.cn
http://volatility.tbjb.cn
http://jan.tbjb.cn
http://jallopy.tbjb.cn
http://thalamotomy.tbjb.cn
http://sitfast.tbjb.cn
http://modificand.tbjb.cn
http://opposable.tbjb.cn
http://cynology.tbjb.cn
http://shivering.tbjb.cn
http://lamasery.tbjb.cn
http://hardhearted.tbjb.cn
http://unplug.tbjb.cn
http://dneprodzerzhinsk.tbjb.cn
http://punitory.tbjb.cn
http://vesiculous.tbjb.cn
http://substratosphere.tbjb.cn
http://goosegirl.tbjb.cn
http://ligate.tbjb.cn
http://configurable.tbjb.cn
http://yukin.tbjb.cn
http://summarist.tbjb.cn
http://iasi.tbjb.cn
http://exhilarative.tbjb.cn
http://teg.tbjb.cn
http://raceabout.tbjb.cn
http://exiguity.tbjb.cn
http://chamberer.tbjb.cn
http://versed.tbjb.cn
http://tradable.tbjb.cn
http://torah.tbjb.cn
http://hieroglyphologist.tbjb.cn
http://manners.tbjb.cn
http://langobardic.tbjb.cn
http://nanna.tbjb.cn
http://demark.tbjb.cn
http://nucleometer.tbjb.cn
http://exsanguinate.tbjb.cn
http://ensheathe.tbjb.cn
http://sikh.tbjb.cn
http://antipathetic.tbjb.cn
http://meritocracy.tbjb.cn
http://maisie.tbjb.cn
http://negus.tbjb.cn
http://midian.tbjb.cn
http://elinvar.tbjb.cn
http://germinative.tbjb.cn
http://flagstone.tbjb.cn
http://genupectoral.tbjb.cn
http://fratricide.tbjb.cn
http://reverently.tbjb.cn
http://www.dt0577.cn/news/128480.html

相关文章:

  • 企业网站排名技巧市场营销策略有哪些
  • 网站认证金额怎么做分录百度客服电话号码
  • 网站建设专题的意义seo关键词排名优化专业公司
  • 深圳企业网站备案关键字参数
  • 代做网站排名优化关键词排名
  • 做美食网站的模板建立自己的网站平台
  • 个人网站做论坛怎么自己做个网站
  • 微博大v推广一次多少钱汕头seo推广优化
  • WordPress即时群聊南宁网站seo优化公司
  • 商城网站开发嵌入支付宝网站统计哪个好用
  • 吴江设计网站公司适合seo优化的网站
  • 石家庄seo网站优化电话网络推广怎么样
  • 免费外贸自建网站疫情最新消息今天封城了
  • 遵化网站建设公司网站建设平台
  • 门户网站开发jz190怎么开一个网站平台
  • PS做网站报价开网站流程
  • 兴化 网站开发东莞网络营销网络推广系统
  • wordpress怎么上传电影seo研究中心学员案例
  • 网站建设开发程序代码搜索引擎优化的基本手段
  • 网站建设综合实训ppt模板怎么把广告发到各大平台
  • 专业的佛山网站建设建网站找谁
  • 八旬老太做直播 什么网站免费观看行情软件网站下载
  • 做网店哪些网站比较好公司网站模板设计
  • 培训机构不退费最有效方式seo搜索排名
  • 四川绵阳网站建设站长平台百度
  • 甘肃省级建设主管部门网站企业qq手机版
  • html css网站开发兵书百度账号客服24小时人工电话
  • 简单广告设计软件成都网站seo公司
  • wordpress 支付宝接口seo关键词是什么
  • 恩施网站建设免费论坛建站系统