vue中创建单文件 注册组件 以及组件的使用

2019-05-29  本文已影响0人  過眼云烟

创建一个src/components文件夹 用于存放组件

头部组件
<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>
src/model/storage.js 封装storage.js
//封装操作localstorage本地存储的方法   模块化的文件
// nodejs  基础
var storage={
    set(key,value){
        localStorage.setItem(key, JSON.stringify(value));
    },
    get(key){
        return JSON.parse(localStorage.getItem(key));
    },remove(key){
        localStorage.removeItem(key);
    }
}
export default storage;
组件的使用 App.vue

1、引入组件

2、挂载组件

3、在模板中使用

<template>
  <div id="app"> 
         <v-home></v-home>
     <hr >
     <br>
     <v-news></v-news>
  </div>
</template>
<script>
  /*
  1、引入组件

  2、挂载组件

  3、在模板中使用
  */
   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>
上一篇 下一篇

猜你喜欢

热点阅读