美文网首页
Vue单文件组件

Vue单文件组件

作者: 橙赎 | 来源:发表于2019-12-16 19:54 被阅读0次
    一、概念

    Vue自定义了一种.vue文件,可以把html,css,js 写到一个文件中,从而实现了对一个组件的封装

    优点

    • 1.代码集中,便于开发、管理和维护。
    • 2.可复用性高,直接将vue文件拷贝到新项目中。
    二、使用方法
    • 优点:Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统
    • 安装:
    npm install -g @vue/cli
    # OR
    yarn global add @vue/cli
    
    • 创建:
    vue create my-project       //命令行创建
    # OR
    vue ui    //可视化界面创建
    
    • 运行:
    npm run serve    
    
    • 安装创建后的目录结构:
      image.png
      单文件组件就放在componets
      自定义组件的内容结构
    <template>
    //html
    </template>
    
    <script>
    //js
    export default {
    }
    </script>
    
    <style>
    //css
    </style>
    
    • 在父组件中,子组件要提前引用:import sendtie from "../src/components/sendtie";
    • css除了内部样式表外还可以引入外部样式表:
    <style scoped>    //scoped:表示只作用于当前组件
    @import url("assets/css/bbs.css");
    </style>
    

    vue官网举例:

    //子组件
    <template>
      <div class="hello">
        <h1>{{ msg }}</h1>
      </div>
    </template>
    <script>
    export default {
      name: 'HelloWorld',
      props: {
        msg: String
      }
    }
    </script>
    <!-- Add "scoped" attribute to limit CSS to this component only -->
    <style scoped>
    </style>
    
    
    //父组件
    <template>
      <div id="app">
        <HelloWorld msg="Welcome to Your Vue.js App"/>
      </div>
    </template>
    
    <script>
    //引用子组件
    import HelloWorld from './components/HelloWorld.vue'
    
    export default {
      name: 'app',
      components: {
        HelloWorld
      }
    }
    </script>
    
    <style>
    #app {
      font-family: 'Avenir', Helvetica, Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      text-align: center;
      color: #2c3e50;
      margin-top: 60px;
    }
    </style>
    
    

    效果:


    image.png

    相关文章

      网友评论

          本文标题:Vue单文件组件

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