<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<div id="app">
<!--使用v-bind將變量綁定數據,數據更改,變量也更改-->
<!--動態組件:使用is屬性來綁定變量,控制變量的值使當前元素動態渲染不同的組件-->
<p>
<a href="#" @click.stop="which='home'">主頁</a>
<a href="#" @click.stop="which='about'">介紹</a>
</p>
<div :is="which"></div>
</div>
<script src="js/vue.js"></script>
<script>
//const定義的變量不可以修改,而且必須初始化
//var定義的變量可以修改,如果不初始化會輸出undefined,不會報錯。
const Home = {
template:"<div><h1>主頁</h1><p>主頁內容。。。。</p></div>"
}
const About = {
template:"<div><h1>介紹</h1><p>介紹內容。。。。</p></div>"
}
var vm = new Vue({
el:"#app",
components:{
'home':Home,
'about':About
},
data:{
which:"home"
}
})
</script>
</body>
</html>
也可將template單獨拿出來
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<div id="app">
<p>
<a href="#" @click="which='home'">主頁</a>
<a href="#" @click="which='about'">介紹</a>
</p>
<div :is="which"></div>
</div>
<script src="js/vue.js"></script>
<script type="x-template" id="tit">
<div>
<h1>主頁</h1>
<p>主頁內容。。。。</p>
</div>
</script>
<script type="x-template" id="content">
<div>
<h1>介紹</h1>
<p>介紹內容。。。。</p>
</div>
</script>
<script>
const Home = {
template:"#tit"
}
const About = {
template:"#content"
}
var vm = new Vue({
el:"#app",
components:{
'home':Home,
'about':About
},
data:{
which:'home'
}
})
</script>
</body>
</html>