黄聪:不使用 webpack,vuejs 异步加载模板
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了黄聪:不使用 webpack,vuejs 异步加载模板,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2105字,纯文字阅读大概需要4分钟。
内容图文
webpack 打包不会玩,整了这么个小玩具
一段 vue 绑定代码,关键点在 gmallComponent
1、异步加载外部 vue 文件(非 .vue)
2、按一定规则拆分 template、script、style
new Vue({ el: ‘#app_vuejs_replace‘, data: { search_key : ‘‘, results : [], pageindex : 1, selecteditem : null }, components: { ‘vue-test‘: gmallComponent(‘gz/test.html‘, { props: [‘items‘] }) } });
gz/test.html 使用习惯几乎遵循 vue 原生,定义模板、脚本、样式
<div> <div>I am async!</div> <div v-for="item in items" @click="onclick(item.company_name)"> {{item.web_title}} </div> </div> <script> export = { methods: { onclick: function(msg) { showTip(msg); } } } </script> <style> .fade-enter-active, .fade-leave-active { transition: opacity .9s } .fade-enter, .fade-leave-active { opacity: 0 } </style>
将以下代码定义到公共 .js 文件中
<script type="text/javascript"> function gmallComponent(url, vuecom) { if (!vuecom) vuecom = {}; return function(resolve, reject) { $.get(url).done(function(r) { var rl = r.toLowerCase(); var style = ‘‘; var styleIndexEnd = rl.lastIndexOf(‘</style>‘); var styleIndex = rl.lastIndexOf(‘<style‘, styleIndexEnd); if (styleIndexEnd !== -1 && styleIndex !== -1) { style = r.substring(styleIndex, styleIndexEnd); style = style.substr(style.indexOf(‘>‘) + 1); style = ‘<component scoped :is="\‘style\‘">‘ + style + ‘</component>‘; } var scriptIndexEnd = rl.lastIndexOf(‘<\/script>‘); var scriptIndex = rl.lastIndexOf(‘<script‘, scriptIndexEnd); if (scriptIndexEnd !== -1 && scriptIndex !== -1) { var script = r.substring(scriptIndex, scriptIndexEnd); script = script.substr(script.indexOf(‘>‘) + 1); script = ‘(‘ + script.replace(/export\s*=\s*\{/i, ‘{‘) + ‘)‘; var obj = eval(script); for (var a in obj) vuecom[a] = obj[a]; } var template = r.substring(0, Math.min(styleIndex, scriptIndex)); if (style) { var index = template.lastIndexOf(‘</‘); if (index !== -1) template = template.substr(0, index) + style + template.substr(index); } vuecom.template = template; debugger resolve(vuecom); }); }; }
原文:https://www.cnblogs.com/huangcong/p/11517953.html
内容总结
以上是互联网集市为您收集整理的黄聪:不使用 webpack,vuejs 异步加载模板全部内容,希望文章能够帮你解决黄聪:不使用 webpack,vuejs 异步加载模板所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。