Vue | 传参数

// 项目结构

├── index.html
├── main-view.js //父组件
├── desc-view.js //子组件
└── app.js

index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>组件</title>
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css">
</head>

<body>
    <div id="app">
        <main-view></main-view>
    </div>

    <script type="text/x-template" id="main-view">
        <div>
                <button @click="onChangeDescClick('Android')">Android</button>
                <button @click="onChangeDescClick('IOS')">IOS</button>
                <button @click="onChangeDescClick('Vue')">Vue</button>
                <desc-view  @showCityName="updateCity"  :pushSubDescObj='descObj'></desc-view>
        </div>
    </script>


    <script type="text/x-template" id="desc-view">
        <div>
                <h1>{{pushSubDescObj.title}}</h1>
                <p :style="{fontSize: pushSubDescObj.fontS + 'px'}">{{pushSubDescObj.desc}}</p>
                <button @click='select()'>放大字体</button>
        </div>
    </script>

    <script src="./app.js" type="module"></script>
    <script src="https://vuejs.org/js/vue.js"></script>
</body>

</html>

main-view.js

import {
    descView
} from './desc-view.js'
var mainView = {
    template: '#main-view',
    components: {
        descView
    },
    data: function () {
        return {
            descObj: {
                title: 'Android',
                desc: '这是Android的描述信息',
                fontS: 12
            }
        }
    },
    methods: {
        onChangeDescClick: function (type) {
            this.descObj.title = type;
            this.descObj.desc = '这是' + type + '的描述信息';
        },
        updateCity: function () {
            this.descObj.fontS++;
            console.log(this.descObj.fontS);
        }
    },
    create() {

    }
}

export {
    mainView
};

desc-view.js

var descView = {
    template: '#desc-view',
    props: {
    	//传多个参数
        pushSubDescObj: {
            type: Object,
            default: function () {
                return {
                    title: '这是一个默认的标题',
                    desc: '这是一个默认的内容',
                    fontS : 0
                }
            }
        }
    },
    methods: {
        select: function () {
            this.$emit('showCityName')
        }
    },
    create() {
        
    }
}

export {
    descView
};

app.js

//import {buttonSuccess} from './button-success.js';
import {
    mainView
} from './main-view.js';

var app = new Vue({
    el: '#app',
    components: {
        mainView
    }
})

坑!!!

emit()、props传多个参数

可能存在的报错

在这里插入图片描述

data里面没有return
内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值