当前位置: 首页 > news >正文

vue-cli 组件

安装:

 npm i -g @vue/cli

创建一个项目: 

vue create my-project
# OR
vue ui

 

项目文件夹目录

 

src文件夹目录

assets  存放静态资源文件,包括图片等

components  存放组件,封装的可复用组件放在这里

main.js  项目的入口文件,整个项目先执行main.js

app.vue  项目的根组件,定义网页的UI结构

vue项目运行流程:通过main.jsApp.vue渲染到index.html

vm.$mount("#app")与el:"#app"的作用相同

vue组件

  • vue组件就是对UI结构的复用

  • 3个组成部分

  1. template:组件模板结构,只能有一个根节点div元素

  2. style:     组件样式,启用 less  :“<style lang="less">”

  3. script:组件JS行为

  • 注意事项:.vue组件中的data不能指向对象,必须定义为函数,否则会报错

<script>
    // 默认导出,这是固定写法
export default {
    // 数据源必须指向函数
    // 函数return 出去的可以是一个对象
    data() {
        return { username: "刘德华", } 
    }
    }
</script>

使用组件的三个步骤

  1. 通过inport语法导入组件

    <!-- 1 导入组件,@表示src的文件路径 -->
    import Left from '@/components/Left'
    import Right from '@/components/Right'

  2. 使用components结点注册私有子组件

    <!-- 使用compoents节点注册组件 -->
    <script>
    export default {
     
      components: {
        Left
      }
    }
    </script>

  3. 以标签形式使用刚才注册的组件

    <!--3  以标签形式使用刚才注册的组件 -->
    <template>
      <div class="app-container">
        <h1>App 根组件</h1>
        <hr />
    
        <div class="box">
          <!-- 渲染 Left 组件和 Right 组件 -->
          <Left></Left>
    
        </div>
      </div>
    </template>

    注册全局组件

方法:在main.js中导入并注册

  1. 导入需要全局注册的组件
  2. 通过vue.component()注册全局组件
// 1 导入需要全局注册的组件
import count from '../src/components/count.vue'
// 2 通过vue.component()注册全局组件
//  参数1:字符串形式,表示组件的注册名称
//  参数2:要注册的那个组件名称
Vue.component('Mycount', count)

props自定义属性:提高组件复用性

  1. default:设置自定义属性的默认值
  2. type:自定义属性值的类型
  3. required:布尔型,是否必须在调用时定义
// props属性,通过自定义属性为当前组件初始化赋值
  // props: ['自定义属性A', '自定义属性B', '其他自定义属性。。。'],
  // props: ['init'],
  props:{
  init:{
    // 如果外界没有传递属性值,则默认值为default
      default: 0,
      // 定义init的属性值的类型type
      type: Number,
      // 必填项required,调用时,不定义会报错
      required:true,
    }
    
  },

样式冲突

  • 方法一:属性选择器

  1. 给要定义样式的标签加上:data-v-自定义属性名

  2. 给选择器加上属性选择器【data-v-自定义属性名】

//1 给要定义样式的标签加上:data-v-自定义属性名
<template>
<h3 data-v-001>Left 组件</h3>
</template>


<style lang='less'>
//2 给选择器加上属性选择器【data-v-自定义属性名】
h3[data-v-001]{
color=red
}
</style>
  • 方法二:scoped


<template>
<h3 >Left 组件</h3>
</template>

//给style标签加上 scoped 属性
<style scoped lang='less'>
//2 给选择器加上属性选择器【data-v-自定义属性名】
h3{
color=red
}
</style>

相关文章:

  • 从0开始安装虚拟机VMware和安装Linux系统(详细步骤)
  • 2022年第五空间网络安全大赛WriteUp
  • Git操作
  • 15天深度复习JavaWeb的详细笔记(十)——Filter、Listener、Ajax
  • 30.0、C语言——文件操作 (1)
  • 物联网感知安全——你了解多少?
  • Linux【编写一个简单的shell】
  • Python入门到进阶——流程控制
  • 基于Docker的开源端到端开发者平台
  • Chapter2.2:控制系统的数学模型
  • 前端关于cookie那些事儿
  • git——仓库合并不丢失git记录
  • 【云原生】MySQL on k8s 环境部署
  • Jetpack ViewModel源码分析
  • 数字逻辑第二章笔记
  • 【译】JS基础算法脚本:字符串结尾
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • Angular 2 DI - IoC DI - 1
  • JS变量作用域
  • Linux学习笔记6-使用fdisk进行磁盘管理
  • macOS 中 shell 创建文件夹及文件并 VS Code 打开
  • Mac转Windows的拯救指南
  • STAR法则
  • vue脚手架vue-cli
  • Webpack 4 学习01(基础配置)
  • 订阅Forge Viewer所有的事件
  • 机器学习 vs. 深度学习
  • 前端技术周刊 2019-01-14:客户端存储
  • 实现菜单下拉伸展折叠效果demo
  • 小而合理的前端理论:rscss和rsjs
  • 《码出高效》学习笔记与书中错误记录
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • (1)虚拟机的安装与使用,linux系统安装
  • (层次遍历)104. 二叉树的最大深度
  • (二)windows配置JDK环境
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (原創) 如何安裝Linux版本的Quartus II? (SOC) (Quartus II) (Linux) (RedHat) (VirtualBox)
  • (转) 深度模型优化性能 调参
  • (转)c++ std::pair 与 std::make
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .NET CLR基本术语
  • .NET 反射 Reflect
  • @Responsebody与@RequestBody
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [ linux ] linux 命令英文全称及解释
  • [ 蓝桥杯Web真题 ]-Markdown 文档解析
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [BPU部署教程] 教你搞定YOLOV5部署 (版本: 6.2)
  • [C#][opencvsharp]opencvsharp sift和surf特征点匹配
  • [CISCN 2019华东南]Web11
  • [codeforces]Levko and Permutation
  • [flask]http请求//获取请求体数据
  • [GDOUCTF 2023]<ez_ze> SSTI 过滤数字 大括号{等