html中使用vue组件

VUE有两种使用方式,一种实在html中直接使用vue做开发,一种是企业级的单页面应用。后者是主流的使用方式,真正项目中很少使用前一种方式。原认为前一种方式主要作用是为了降低VUE的学习门槛——通过在大家熟悉的HTML环境中使用vue,大家很容易去了解和熟悉VUE。现在看来在html使用vue组件还有两大作用,一个是封装比较复杂的组件,在其他应用中使用,如:开发一个工业环境中视觉检测系统组件,将这个组件嵌入到MES系统中去;另外一个作用就是今天要讲的调样式。
要让自己的页面变得精致,就要在样式上下功夫。VUE组件中的样式封装在组件的内部,如果页面上每个组件都很美观,组装起来就不会差到那儿去,但是如果要把样式的调整分离出去,就需要将所有的单页面应用代码提供出去,这样增加了调样式人员的学习成本,如果放到html中去,只需要通过浏览器预览就很容易了,使用起来非常简单,示例如下:

  1. 在html页面头部引入vue、组件使用的UI库、http-vue-loader,示例代码如下
	<head>
		<meta charset="utf-8">
		<!-- 引入vue -->
		<script src="https://cdn.jsdelivr.net/npm/vue@2.5.16/dist/vue.js"></script>
		<!-- 引入http-vue-loader -->
		<script src="https://unpkg.com/http-vue-loader"></script>
		<!-- 这里使用了element ui框架 -->
		<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
		<script src="https://unpkg.com/element-ui/lib/index.js"></script>
		<title></title>
	</head>
  1. 在body部分写相关html和script代码,代码如下
<body>  
        <div id="app">  
            <h1>hhhhhhhhhhhhhh</h1>  
            <information-box :bar-object='titleObj' :data-list='dataList121'></information-box>  
        </div>  
        <script>  
            Vue.use(httpVueLoader)  
            new Vue({  
                el: '#app',  
                data: {  
                    msg: '大家好,欢迎大家学习Vue.js',  
                    titleObj: {  
                        sno: 1,  
                        title: '法律条文'  
                    },  
                    dataList121: [{  
                        sno: '1',  
                        title: 'fdshkjfhkjsdahfk'  
                    }, {  
                        sno: '2',  
                        title: 'werwerwerwerwerwerw'  
                    }]  
                },  
                components: {  
                    'information-box': httpVueLoader('../com/information-box.vue'),  
                },  
            })  
        </script>  
    </body>

在body中第四行information-box就是我们要使用的组件,使用方式和通常在html使用VUE是一致的。在components:中引入要使用的组件,注意这里:需要使用httpVueLoader(‘…/com/information-box.vue’)引入组件。
3. information-box组件代码,组件代码和通常单页面组件代码基本一致,代码如下:

<template>
	<div class='main_div'>
		<span>{{barObject.stitle}}</span>
		<span class="span_more">更多</span>
		<el-divider></el-divider>
		<ul style="padding:0.0.0.0;">
			<li v-for="(item,index) in dataList" :key='item.sno'>{{item.title}}</li>
		</ul>
	</div>
</template>

<script>
	module.exports = {
		name: "informationBox",
		props: {
			barObject: {
				sno: String,
				stitle: String
			},
			dataList: {
				type: Array
			}
		}
	}
</script>

<style scoped>
	ul li {
		list-style: none;
	}
	.main_div {
		width: 256px;
		position: absolute;
	}

	.span_more {
		position: relative;
		right: 0;
		color: red;
	}
</style>

与单页面唯一不同的是代码的12行,在单页面中使用的是“export default”默认输出,而在这里要改为“module.exports = ”
4. 运行结果
在这里插入图片描述
查看组件运行状态,不合适的地方调整样式,直到满意为止。

注意: 在html页面中组件的名称不少于两个单词,且单词之间一定是用中划线分割,否则出现莫名其妙的错误。

小结:在html中使用vue组件只需三步。第一步:引入http-vue-loader;第二步:将引入组件中的export default修改为module.exports =;第三步:在html中components选项中使用httpVueLoader加载组件

  • 33
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
### 回答1: 首先,我们需要检查一下是否正确引入了Vue.jsVue组件。检查Vue.js是否引入成功,可以通过在控制台输入Vue来验证是否存在Vue对象来判断。如果不存在可以尝试重新引入Vue.js文件,确保引入路径正确。 其次,我们需要确定 Vue 组件是否正确引入,并写入 Vue 实例。可以在控制台输入组件名称查看是否正确引入,并查看 Vue 实例是否注册了该组件。 如果组件正确引入和注册,但仍未正常显示,那么可能出现了组件渲染问题。可能是组件模板的代码出现错误,或者组件数据或属性有误,也可能是组件样式出现问题。我们可以通过查看控制台的错误信息来定位具体的错误位置,并修复问题。 最后,我们需要确保我们的 Vue 实例已经挂载至 HTML 的某个元素,且该元素正确存在。在 Vue 实例的 el 属性定义的元素应与 HTML 文件实际存在的元素的 id 或 class 相匹配。如果 id 或 class 不存在或与 Vue 实例不匹配,那么组件将无法正常渲染。 总之,在使用 Vue.js 编写组件过程,我们需要注重细节,仔细检查代码,排除一切可能出现的问题,保证 Vue 组件能够正常渲染,显示在页面上。 ### 回答2: 在使用HTML引入Vue组件时,有可能会出现组件没有正确显示的情况。这种情况可能有多种原因,下面列出几种可能的原因和解决方法: 1. 检查Vue的版本:如果Vue组件使用较新版本的Vue框架编写的,确保使用Vue版本要与组件指定的版本相同。如果Vue版本不一致,可能会出现不兼容的问题。 2. 检查组件名:在HTML引入组件时,必须使用正确的组件名。如果组件名不正确,Vue框架就无法识别组件,因此无法正确渲染组件。 3. 检查组件路径:在HTML引入组件时,必须使用正确的组件路径。如果路径不正确,Vue框架就无法找到组件文件,因此无法正确渲染组件。 4. 检查模板内容:在Vue组件,模板是用来渲染组件的关键。如果模板存在错误,可能会导致组件无法正常渲染。因此,应该仔细检查组件模板内容,确保其正确无误。 5. 检查组件数据:在Vue组件,数据是用来驱动组件渲染的关键。如果组件数据出现错误或缺失,可能会导致组件无法正确渲染。因此,应该仔细检查组件数据,确保其正确无误。 总的来说,在使用HTML引入Vue组件时,需要仔细检查组件名、组件路径、组件模板内容、组件数据等关键因素,以确保组件能够正确渲染。如果还是出现问题,可以使用Vue框架提供的开发者工具进行调试,查找并解决问题。 ### 回答3: 如果在HTML页面使用Vue组件时没有报错但是组件没有显示出来,那么可能有以下几个原因: 1.没有正确引入Vue.js库 在使用Vue组件之前,需要先在HTML页面正确引入Vue.js库。如果没有正确引入,那么虽然没有报错,但是Vue组件依旧无法渲染显示。 可以在HTML页面添加以下代码引入Vue.js库: ``` <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> ``` 或者使用Vue.js的CDN链接: ``` <script src="https://cdn.jsdelivr.net/npm/vue"></script> ``` 2.没有正确定义Vue实例 在使用Vue组件之前,需要先定义Vue实例。如果没有正确定义,那么虽然没有报错,但是Vue组件依旧无法渲染显示。 可以在HTML页面添加以下代码定义Vue实例: ``` var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' } }) ``` 其`'#app'`表示Vue实例要挂载的元素,`data`表示数据对象。 3.没有正确引入组件使用Vue组件之前,需要先正确引入组件。如果没有正确引入,那么虽然没有报错,但Vue组件依旧无法渲染显示。 可以在HTML页面添加以下代码引入组件: ``` Vue.component('my-component', { template: '<div>A custom component!</div>' }) ``` 其`'my-component'`是组件的名称,`template`是组件的DOM模板。 4.没有正确使用组件 在引入组件后,需要在Vue实例使用组件。如果没有正确使用组件,那么组件依旧无法渲染显示。 可以在Vue实例添加以下代码使用组件: ``` Vue.component('my-component', { template: '<div>A custom component!</div>' }) var app = new Vue({ el: '#app', data: { message: 'Hello Vue!' }, components: { 'my-component': myComponent } }) ``` 其`'components'`表示Vue实例使用组件,`'my-component'`是组件的名称,`myComponent`表示引入的组件对象。 综上所述,如果在HTML页面使用Vue组件没有报错但是组件没有显示出来,可以先检查是否正确引入Vue.js库、定义Vue实例、引入组件和正确使用组件。如果这些都没有问题,可以再尝试去检查组件的代码问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值