问题描述:
整体项目采用传统 .html 文件搭建,vue仅作为渲染数据工具使用,需要使用的地方使用 <script> 标签引入。
现有数个页面,每个页面都包含相同 headerfooter ,希望可以把 headerfooter 提取出来,避免太多重复代码。

解决办法
公共部分写在 .js 文件里,本质就是在当前页面中写的公共组件,组件规则遵从vue的组件规则。
template后面可以采用字符串拼接(内容少),或者是使用 `定义模板字符串。

目录结构:

—test
——header.js //公共头部
——index.html //页面
——vue.js
在这里插入图片描述
index.html

<!doctype html>
<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
		<title>test</title>
		<!--引入vue-->
		<script type="text/javascript" src="vue.js"></script>
		<!--引入公共组件-->
		<script type="text/javascript" src="header.js"></script>
	</head>
	<body style="font-size: 30px">
		<div id="vue_app">
			<!--自定义的组件使用-->
			<common-head></common-head>
			<!--页面自有内容-->
			<div style="background: #fba">我是内容</div>
		</div>
		</div>
	<script>
		//vue
		app_all=new Vue({
			el: "#vue_app"
		})
	</script>
	</body>

</html>

header.js

/*Vue.component('common-head',{
	template:'<div>'+
				'<h1>hhhhhhh</h1>' + 
				'<h1>duusdfsjkdfh</h1>' +
			  '</div>'
});*/
Vue.component('common-head',{
	template:`<div style="background: #baf">
				<h1>这是公共组件</h1>
				<h1>公共的头部</h1>
			  </div>`
});
Logo

前往低代码交流专区

更多推荐