Vuejs脚手架

本文详细介绍了Vue.js的脚手架vue-cli,包括如何安装下载及理解其文件结构。接着深入探讨了Vue.js组件的创建、使用、组件间的传值,并特别强调了组件传值的重要性。最后,文章讲解了slot插槽的用法,包括单个slot和具名slot,强调了分发内容的作用域和没有分发内容时的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、Vuejs脚手架介绍

1、什么是vue-cli脚手架

        本质:一套文件结构

        修改镜像:npm config set registry

        https://registry.npm.taobao.org/

2、安装下载

        1)、安装

npm install -g @vue/cli

        2)、创建项目

vue create 项目名

注:项目名不能包含大写字母

文件结构:

        public(静态的,不会编译)

                index.html

        src(会编译)

                assets:放资源文件(css、js、less、图片)

                components:组件文件夹

                view:页面级组件

                api:接口

                App.vue:根组件

                main.js:入口文件

        package.json

        node_modules

二、Vuejs组件

1、Vuejs组件树

        组件系统是 Vue 的另一个重要概念,因为它是一种抽象,允许我们使用小型、独立和通常可复用的组件构建大型应用。几乎任意类型的应用界面都可以抽象为一个组件树。

2、创建Vuejs组件

<template>
    <div>
    </div>
</template>
注:只能有一个根元素

<script>
    export default{
        name:"",
        data(){
            return{
                message:""
            }
        }
    }
</script>

<style>
</style>

3、使用组件

        1)、导入组件

import 名称2 from 地址

        2)、注册组件

               全局注册

Vue.component()

               局部注册

components:{
    名称:名称2
}

        3)、使用组件

<名称/>

为什么组件中的data要写一个function?

        参考:https://blog.youkuaiyun.com/adley_app/article/details/95939885

4、组件的传值(重点)

        组件传值:父子关系

        属性向下流,事件向上走

        父传子:props属性

        https://cn.vuejs.org/v2/guide/components-props.html
        https://cn.vuejs.org/v2/guide/components-props.html#Prop-%E9%AA%8C%E8%AF%81

Vue.component('my-component', {
  props: {
    // 基础的类型检查 (`null` 和 `undefined` 会通过任何类型验证)
    propA: Number,
    // 多个可能的类型
    propB: [String, Number],
    // 必填的字符串
    propC: {
      type: String,
      required: true
    },
    // 带有默认值的数字
    propD: {
      type: Number,
      default: 100
    },
    // 带有默认值的对象
    propE: {
      type: Object,
      // 对象或数组默认值必须从一个工厂函数获取
      default: function () {
        return { message: 'hello' }
      }
    },
    // 自定义验证函数
    propF: {
      validator: function (value) {
        // 这个值必须匹配下列字符串中的一个
        return ['success', 'warning', 'danger'].indexOf(value) !== -1
      }
    }
  }
})

        子传父:事件

        1、父组件中:给子组件添加事件,以及事件处理程序

        2、子组件中:使用this.$emit触发事件,以及传值

        参考:https://www.cnblogs.com/fundebug/p/10884896.html

三、slot插槽

        参考:http://bugshouji.com/bbs-read-run?tid=333

        单个slot:子组件标签之间的内容全部放到slot标签的位置

        具名slot:

                子组件给slot标签分别添加name属性

                父组件给分发的标签添加slot属性

        分发内容的作用域:在哪里写的DOM元素,就在哪里去定义事件

        当没有分发内容时的提示:slot标签里的内容将在没有分发内容时显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值