Vue单个页面引入CDN链接
在理解了render函数与createElement函数的基础上,想要实现Vue单个页面引入CDN链接就简单很多了。
- 首先采用createElement创立不同资源类型(以js、css为例)的VNode
// js CDNcreateElement('script', { attrs: { type: 'text/javascript', src: this.cdn }})// css CDNcreateElement('link', { attrs: { rel: 'stylesheet', type: 'text/css', href: this.cdn }})- 而后基于上述VNode,采用render创立函数式组件remote-js及remote-css
components: { 'remote-js': { render(createElement) { return createElement('script', { attrs: { type: 'text/javascript', src: this.cdn } }) }, props: { cdn: { type: String, required: true } } }, 'remote-css': { render(createElement) { return createElement('link', { attrs: { rel: 'stylesheet', type: 'text/css', href: this.cdn } }) }, props: { cdn: { type: String, required: true } } }}- Vue单页面引入
<template> <div class="my-page"> <remote-js cdn="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></remote-js> <remote-css cdn="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css"></remote-css> </div></template>- 彩蛋(=。=)
假如你觉得render函数写起来很吃力的话,即可以利用Bable插件,在Vue 中使用 JSX ,让我们可以无限接近于模板语法。上述代码就变成下面这样了,如同是顺眼了一丢丢吧:
components: { 'remote-js': { render(h) { return ( <script type= 'text/javascript' src={this.cdn}></script> ) }, props: { cdn: { type: String, required: true } } }, 'remote-css': { render(h) { return ( <link rel='stylesheet' type='text/css' href={this.cdn} /> ) }, props: { cdn: { type: String, required: true } } }}PS:将 h 作为 createElement 的别名是 Vue 生态系统中的一个通用惯例,实际上也是 JSX 所要求的。
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Vue单个页面引入CDN链接
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Vue单个页面引入CDN链接