成都网站建设设计

将想法与焦点和您一起共享

Vue结合原生js如何实现自定义组件自动生成

这篇文章主要介绍Vue结合原生js如何实现自定义组件自动生成,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

成都创新互联公司主营惠山网站建设的网络公司,主营网站建设方案,app开发定制,惠山h5微信小程序搭建,惠山网站营销推广欢迎惠山等地区企业咨询

就目前三大前端主流数据驱动框架(vue,ng,react)而言,均具有创建自定义组件的api,但都是必须先做到事先写好挂载点,这个挂载点可以是原有静态元素标签也可以是自定义模板;对于多种组件通过同一数据流生成的,如果事先在页面上写好挂载点(mounted),然后通过dom操作去动态添加,会遇到类似这样一条错误提示信息:Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.(…)。这又是为何呢,下一步该怎么办?

原因是任何dom操作的对象必须是符合W3C标准的元素,除非如下所述的,改写生成html元素对象的原型(HTMLElement.prototype)并注册自定义元素,从而实现动态生成自定义组件的效果。

不过,大家都明白使用数据驱动框架的初衷就是尽可能避免dom操作,而如下代码中还是有一些dom操作的,就目前认知水平而言,感觉这些必要的dom操作还是避免不了的。其它不多说了,直接看代码。。。




  
  
  
  
  
  
  



为了保持代码的可维护性及易读性,我将模板部分单独放在fuhao-components.js的文件里边,如下所示:

var textTpl='';

  
   var textareaTpl= '';       
   var radioTpl= '';                        
var checkboxTpl= '';                        
var selectTpl= '';                  {{value.key}}         var photoTpl= '';      拍照        var gpsTpl='';      获取定位       var defaultTpl= '';                              

最终渲染效果如下:

Vue结合原生js如何实现自定义组件自动生成

鉴于vue结合dom操作动态生成自定义组件,控制台会报一定的错误这一点bug还在努力修复中,可能需要更加深入地了解vue数据绑定及传递机制与js动态注册自定义组件的深入领会,继续努力中。。。

以上是“Vue结合原生js如何实现自定义组件自动生成”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!


分享题目:Vue结合原生js如何实现自定义组件自动生成
网页网址:http://chengdu.cdxwcx.cn/article/goehcc.html