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

创建一个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>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • vue概述 在官方文档中,有一句话对Vue的定位说的很明确:Vue.js 的核心是一个允许采用简洁的模板语法来声明...
    li4065阅读 7,523评论 0 25
  • 什么是组件? 组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装...
    youins阅读 9,692评论 0 13
  • 1. 组件的data为什么必须是函数? 组件中的 data 写成一个函数,数据以函数返回值形式定义,这样每复用一次...
    郭先生_515阅读 1,044评论 0 12
  • 组件(Component)是Vue.js最核心的功能,也是整个架构设计最精彩的地方,当然也是最难掌握的。...
    六个周阅读 5,746评论 0 32
  • 一:什么是闭包?闭包的用处? (1)闭包就是能够读取其他函数内部变量的函数。在本质上,闭包就 是将函数内部和函数外...
    xuguibin阅读 10,002评论 1 52

友情链接更多精彩内容