Vue组件使用

作者: 剑有偏锋 | 来源:发表于2018-07-28 15:13 被阅读38次

    一 创建测试项目

    vue init webpack-simple vuedemo

    二 进入demo目录

    cd vuedemo

    三 安装依赖

    cnpm install

    四 修改代码

    要修改的文件
    ├── src
    │ ├── App.vue
    │ ├── components
    │ │ ├── Header.vue
    │ │ ├── Home.vue
    │ │ └── News.vue

    App.vue

    <template>
      <div id="app">
    <v-home></v-home>
    <hr>
    <br>
    <v-news></v-news>
      </div>
    </template>
    
    <script>
    /*
    import components
    Local Registration components
    use in template
    */
    
    import Home from './components/Home.vue';
    import News from './components/News.vue';
    
    
    export default {
      name: "app",
      data() {
        return {
          msg:'hello vue world!',     
        };
      },
      components:{
        'v-home':Home,
        'v-news':News
      }
    };
    </script>
    
    <style>
    
    </style>
    

    Header.vue

    <template>
        <div class="header">
            {{msg}}
        </div>
    </template>
    
    <script>
    export default {
        data(){
            return {
                msg:'this is a head component'
            }
        },
        methods :{
            
        }
    }
    </script>
    
    <style>
    .header{
        background:#000;
        color: #fff;
    }
    </style>
    

    Home.vue

    <template>
        <!-- all content need in root-->
        <div id="home">
            <v-header></v-header>
            <h2>{{msg}}</h2>
    
            <button @click="run()">run fuction</button>
        </div>
    </template>
    
    <script>
    import Header from './Header.vue'
    
    export default {
        data(){
            return {
                msg:'i am home component!'
            }
        },
        methods :{
            run(){
                alert(this.msg)
            }
        },
        components:{
            'v-header':Header
        }
    }
    </script>
    
    <style>
    
    #home h2{
        color: red;
    }
    </style>
    

    News.vue

    <template>
        <div>
            <v-header></v-header>
            {{msg}}
            <ul>
                <li>
                    111
                </li>
                <li>
                    222
                </li>
                <li>
                    333
                </li>
            </ul>
        </div>
    </template>
    
    <script>
    import Header from './Header.vue'
    
    export default {
        data(){
            return {
                msg:'i am a news component!'
            }
        },
        methods :{
            
        },
        components:{
            'v-header':Header
        }
    }
    </script>
    

    五 运行

    npm run dev


    image.png

    六 总结

    1 组件使用
    《1 新建vue文件,创建<templete></templete>填充组件内容
    《2 在要使用组件的地方,导入组件,并注册组件标签
    import Home from './components/Home.vue';

    export default {
    components:{
    'v-home':Home,
    }
    };

    《3 在html标签,使用标签来使用组件
    如:<v-home></v-home>

    七 参考

    https://cn.vuejs.org/v2/guide/components.html

    相关文章

      网友评论

        本文标题:Vue组件使用

        本文链接:https://www.haomeiwen.com/subject/pbtomftx.html