VUE 非单页引用外部组件

比特筑梦
• 阅读 1425

我知道,使用单页的情况下,调用组件是很简单的。但在通过使用Angular和Vue半年来,发觉单页的程序在我们的应用场景下,存在诸多不便。
我们的项目要与其它人的项目进行集成,有可能是单页,也有可能是非单页,要共享部分样式或实现单点登陆太困难了。

所以我接下来的项目会尝试非单页应用。

其中一个需要解决的就是静态文件中许多组件的复用问题。研究了一个晚上。

发觉可以用jquery的load来解决这个问题。

我把某个组件的template放在一个html文件里。

主文件用 load调用

例子如下:

<html lang="en">
<head>
<script src="https://code.jquery.com/jquer...; integrity="sha256-iT6Q9iMJYuQiMWNd9lDyBUStIq/8PuOW33aOqmvFpqI=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/...;></script>
</head>
<body>
<div id="app">
<mycom1></mycom1>
</div>
<div id="template">
</div>
<script>
Vue.component('mycom1', { template: '<div></div>' })
$(document).ready(function () {
$('#template').load('b.html', function () {
Vue.component('mycom1', combb)
vm.$forceUpdate()
});
});
// 创建 Vue 实例,得到 ViewModel
var vm = new Vue({
el: '#app',
data: {},
methods: {}
});
</script>
</body>
</html>

组件html:

<template id="hello-world-template">
<div id="components-demo">
hello-world-template
</div>
</template>
<script>
var combb = Vue.extend({
template: '#hello-world-template' // 通过 template 属性,指定了组件要展示的HTML结构
})
</script>

最后用 vm.$forceUpdate() 来更新部分实例。
如有疑问,请给我留言。

点赞
收藏
评论区
推荐文章
Python进阶者 Python进阶者
4年前
Vue的学习笔记(下篇)
一、什么是Vue.js?Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。前面几天我们已经分享了和,今天我们一起来看看下篇。二
凝雪探世界 凝雪探世界
4年前
js-Answers二
前端框架相关什么是单页面应用(SPA)?单页面应用(SPA)是指用户在浏览器加载单一的HTML页面,后续请求都无需再离开此页目标:旨在用为用户提供了更接近本地移动APP或桌面应用程序的体验。流程:第一次请求时,将导航页传输到客户端,其余请求通过RESTAPI获取JSON数据实现:数据的传输通过
编程范儿 编程范儿
4年前
Vue刷新页面有哪几种方式
在Vue项目中,刷新当前页除了window.reload(),你还能想到什么办法?而且这种办法会重新加载资源出现短暂的空白页面。体验不是很好。在某个详情页面的时候,我们经常需要通过路由中的详情id去获取内容,当我们在不同的详情页来回切换的时候,打开的页面是同一个,只是需要通过监听路由中的参数id的变化去重新请求详情接口。如果这个详情页只需要一个接口
Wesley13 Wesley13
3年前
Redis集群原理、搭建
在实际的生产过程中,单服的redis存在单点的问题,redis通常需要集群的环境。相比单服的redis,集群有以下些好处:1.容错性解决在单服redis的单点问题。在一个或多个节点出现宕机的情况下,集群内部通过投票的机制能够快速的进行选举和不停机的情况下进行服务持续提供。2.扩展性相比单
Python进阶者 Python进阶者
4年前
Vue的学习笔记(上篇)
一、什么是Vue.js?Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。二、什么是vmodel指令?vmode
Python进阶者 Python进阶者
4年前
Vue的学习笔记(中篇)
一、什么是Vue.js?Vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,Vue被设计为可以自底向上逐层应用。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。另一方面,当与现代化的工具链以及各种支持类库结合使用时,Vue也完全能够为复杂的单页应用提供驱动。上篇文章我们讲述了基础,可以戳这里:。这篇文章我
Stella981 Stella981
3年前
Discuz x2.5 单页制作的教程
_首先,单页包括该单页的php文件和该单页的模板(.htm)文件,比如:host.php、host.htm___单页的php文件内容如下:__<?phprequire'./source/class/class_core.php';//引入系统核心文件$discuz&discuz_core::instan
Stella981 Stella981
3年前
Nuxt.js是什么,为什么使用它、Nuxt.js环境搭建
1\.Nuxt.js概述1.1我们一起做过的SPASPA(singlepagewebapplication)单页Web应用,Web不再是一张张页面,而是一个整体的应用,一个由路由系统、数据系统、页面(组件)系统 等等,组成的应用程序。Vue就是SPA
Wesley13 Wesley13
3年前
KO
KOKO是一个基于Webpack开发的快速开始Web开发的脚手架工具,具有以下特性:可以当做一个Webpack配置种子来使用,无需二次配置、开箱即用自动支持多页应用(可选)Vue单文件组件的开发方式资源分块加载,内联和异步加载方式管理,低成本实现首屏优化支
Wesley13 Wesley13
3年前
Vue 服务端渲染(SSR)
Vue服务端渲染(SSR)什么是服务端渲染,简单理解是将组件或页面通过服务器生成html字符串,再发送到浏览器,最后将静态标记"混合"为客户端上完全交互的应用程序。于传统的SPA(单页应用)相比,服务端渲染能更好的有利于SEO,减少页面首屏加载时间,当然对开发来讲我们就不得不多学一些知识来支持服务端渲染。同时服务端渲染对服
鸿蒙小林 鸿蒙小林
1个月前
《仿盒马》app开发技术分享-- 兑换商品订单详情页(80)
技术栈Appgalleryconnect开发准备我们的兑换商品列表相关的功能都已经实现的差不多了,现在我们还缺少一个订单详情查看的功能,为了ui一致性,我们的订单详情页样式要保持一致性,外观要跟订单、回收单的详情页相似。功能分析要实现订单详情首先我们需要拿