深圳市澳门威斯尼斯wns888,澳门威斯人手机app下载半导体科技有限公司专业半导体测试分选设备研发、设计、制造、销售与服务!

服务咨询热线:

0752-5880-900(8280)
$(".nav li").hover(function() { $(this).find(".sedNav").stop(true, true).slideDown(); }, function() { $(this).find(".sedNav").stop(true, true).slideUp(); }); // JavaScript Document var curUrl = location.pathname.substr(1); if (curUrl.indexOf("news-4723-0.html") > -1) { document.getElementById('zz1').className = " on"; }; if (curUrl.indexOf("news-4724-0.html") > -1) { document.getElementById('zz2').className = " on"; }; if (curUrl.indexOf("news-4725-0.html") > -1) { document.getElementById('zz3').className = " on"; };
4新闻中心
您的位置: 首页 > 新闻资讯 > 公司动态

详解Vue 动态增添模板的几种本事

文章出处:网络 责任编辑:深圳市澳门威斯尼斯wns888,澳门威斯人手机app下载半导体科技有限公司 发表时间:2024-04-03
 

        根据云云的思绪,本来可能让用户传入的模板预先编译好,传入到组件内,拼接 DOM tree 看起来也能治理题目。那么可能这么玩。

        综上公司动态,正在 Vue 1.x 里不存正在预编译的观念,于是念动态修正模板仍旧有很众式样的,以至还可能集合slot/slot取到slot里的实质拼接进模板里。但 2.0 就烦琐了,并找不到理念的办法。

        通过打印组件对象可能获取一个音讯,正在$options里界说了一个 template 属性,写正在 template 标签里的模板,最终编译后也会正在 $options.template 里。通过文档的人命周期可能得知,正在 created 的时辰, 实例仍然下场解析选项, 然而还没有开首 DOM 编译 也便是说,倘若用户通过 prop 的数据咱们可能获取,然而模板本来还没有烘托成 DOM。经由测试,正在created修正this.$options.template是可能更正最终身成的 DOM 的,同时也能拿到 props 的实质。

        咱们懂得 Vue 正在内部助咱们做了很众优化,然而正在这里能够会因为某些优化导致动态拼接的模板无法烘托告捷。比方这里咱们不可使 v-for 而是手工遍历 options 天生需求的 HTML

        目前并没有找到适当的治理计划。2.0 的 Vue 将 compile 劳动提前,而且 compiler 也是单唯一个包(除非你直接援用的是 vue.js 文献,包括 compiler 和 runtime,那么第一种办法是合用的),那么并不行动态的天生模板。除非用户传入的是 render 能识其余 DOM tree。

        云云咱们就可能开荒让用户自界说构造的组件了,用户传入构造参数,通过手工拼接模板,筑立了_linkerCachable = false也不会被缓存。

        行使 partials 也能到达增添自界说模板的目标,然而平常的做法是要整体注册 partial,vue-strap便是这么做的。倘若重名了会被笼罩(初度烘托不会,然而数据更新从新烘托 DOM 时就会被笼罩)。

        以上便是本文的一概实质,生机对专家的研习有所助助,也生机专家众众支柱剧本之家。

        文献里的 template 标签里写模板。然而有时辰会需求动态天生模板的需求ag九游会登录j9入口,比方让用户自界说组件模板NG28相信品牌的力量官方网址,或者筑立组件的构造。

        倘若此时需求扩大一个 API 支柱让用户自界说 option 片面的模板。此处用 slot 并不行治理题目。

        这种式样就略显蛋疼,并且功效最差。不推举行使。

        比方要做一个类 select 的组件,用户传入 options 数据,通过 value prop 获取选中值,最基础的原型如下。

      深圳市澳门威斯尼斯wns888,澳门威斯人手机app下载半导体科技有限公司 Copyright 2021
      咨询
      document.oncontextmenu=new Function("event.returnValue=false"); document.onselectstart=new Function("event.returnValue=false");