<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<div id="app">
<!--header是公共頭部,這里放個容器,頭部將會被加載到這里-->
<div id="common-header"></div>
<!--下面是其他本頁的其他內容-->
<div>正文內容區域</div>
</div>
</body>
<script src="https://unpkg.com/vue"></script>
<script type="text/javascript">
//這里寫公用頭部
//官網提供了vue.extend構造方法,直接用
var header = Vue.extend({
template: '<div class="wrap"><span>{{a}}</span><p>{{b}}</p></div>',
data: function () {
return {
a: 1,
b: '嘿嘿'
}
}
});
var commonHeader = new header();
</script>
<script type="text/javascript">
//這里將公共部分的頭部加載進來,加載到我們在本頁給的容器中
commonHeader.$mount('#common-header');
//本頁的js
var myApp = new Vue({
el: '#app',
data: {
}
});
/* 一點感覺
* 1.一般來說,我們不會直接瀏覽器引用vue.js開發項目;感覺怪怪的,
* 2.被迫開發一個頁面中直接引用vue.js+jquery的項目,確實很快,30個頁面的項目,兩個人(后端接口已經有),三周過審上線
* */
</script>
</html>
更新如下,可以對比一下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>vue全局組件</title>
</head>
<body>
<div id="app">
<header>
<my-component></my-component>
</header>
<div class='content'>{{ con }}</div>
</div>
</body>
<script src="https://unpkg.com/vue"></script>
<script type="text/javascript">
//注冊一個全局組件
Vue.component('my-component', {
template: '<p>{{ mes }}</p>',
data: function () {
return {
mes: '嘿嘿'
}
}
});
var myApp = new Vue({
el: '#app',
data: {
con: '內容'
}
})
</script>
</html>
