第十课 本文件内容:组件的引入、挂载与使用

Home.vue 和News.vue都挂在Header.vue

Header.vue

<template>
        
    <div id="header">
            
        <h2 class="header">这是一个头部组件</h2>
    
    </div>

</template>

<script>
    export default {

        data(){

            return{

                msg:'这是一个头部组件'
            }
        }

    };
</script>

<style lang="scss">
    
.header{

    background:#000;

    color:#fff;
}
    
</style>
 
 
 
 
Home.vue
<template>
    <!-- 所有的内容要被根节点包含起来 -->
    <div id="home">

            <v-header></v-header>

            <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>
 
 
 
 
News.vue
<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>
 
 
 
App.vue
<template>
<!-- 本文件内容:组件的引入、挂载与使用 -->
  <div id="app">

    <!-- 3、在模板中使用 -->
     <v-home></v-home>
     <hr >
     <v-news></v-news>

  </div>
</template>

<script>

   //  1、引入组件
   import Home from './components/Home.vue';

   import News from './components/News.vue';

   export default {
      data () {
        return {

         msg:'你好vue'
        }
      },
      // 2、挂载组件
      components:{   /*前面的组件名称不能和html标签一样*/
        'v-home':Home,
        'v-news':News
      }
    }
</script>


<style lang="scss">


</style>
原文地址:https://www.cnblogs.com/netflix/p/14626617.html