<template> <div id="app"> <v-home></v-home> <hr > <br> <v-news></v-news> </div> </template> <script> /* 一、引入組件 二、掛載組件 三、在模板中使用 */ import Home from './components/Home.vue'; import News from './components/News.vue'; export default { data () { return { msg:'你好vue' } }, components:{ /*前面的組件名稱不能和html標籤同樣*/ 'v-home':Home, 'v-news':News } } </script> <style lang="scss"> </style>
<template> <div> <h2 class="header">這是一個頭部組件</h2> </div> </template> <script> export default { data(){ return{ msg:'這是一個頭部組件' } } }; </script> <style lang="scss"> .header{ background:#000; color:#fff; } </style>
<template> <!-- 全部的內容要被根節點包含起來 --> <div id="home"> <v-header></v-header> <br> <hr> <h2>這是一個首頁組件--{{msg}}</h2> <button @click="run()">執行run方法</button> </div> </template> <script> //引入頭部組件 import Header from './Header.vue'; export default{ data(){ return { msg:'我是一個首頁組件msg' } }, methods:{ run(){ alert(this.msg); } }, components:{ 'v-header':Header } } </script> <style lang="scss" scoped> /*css 局部做用域 scoped*/ h2{ color:red } </style>
<template> <div> <v-header></v-header> <h2>這是一個新聞組件</h2> <ul> <li > 111111 </li> <li> 2222 </li> <li> 333333 </li> </ul> </div> </template> <script> //引入頭部組件 import Header from './Header.vue'; export default { data(){ return{ msg:'我是一個新聞組件' } },components:{ 'v-header':Header } }; </script> <style lang="scss"> </style>