Vue.js学习详细课程系列--共32节(6 / 6)

这篇具有很好参考价值的文章主要介绍了Vue.js学习详细课程系列--共32节(6 / 6)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

29. 组件:参数验证

知识点
  • props:组件参数验证语法
组件的数据

为组件中接受到的变量进行逻辑验证。

综合例
<div id="myApp">
    <h1>身世之谜</h1>
    <show-member-info name="koma" :age="25" :detail="{address:'earth', language:'世界语'}"></show-member-info>
</div>
<script>
    Vue.component('show-member-info', {
        props: {
            name: {
                type: String,
                required: true,
            },
            age: {
                type: Number,
                validator: function (value) {
                    return value >= 0 && value <= 130;
                }                
            },
            detail: {
                type: Object,
                default: function() {
                    return {
                        address: 'US',
                        language: 'English',
                    };
                }
            },
        },
        template: '<div>姓名:{{this.name}}<br/>' 
            + '年龄:{{this.age}}岁<br/>'
            + '地址:{{this.detail.address}}<br/>'
            + '语言:{{this.detail.language}} </div>',
    });
    var myApp = new Vue({
        el: '#myApp', 
    });
</script>

30. 组件:事件传递

知识点
  • v-on
  • $emit
v-on

侦听组件事件,当组件触发事件后进行事件处理。

$emit

触发事件,并将数据提交给事件侦听者。

综合例
<div id="myApp">
    <h1>人生加法</h1>
    <add-method :a="6" :b="12" v-on:add_event="getAddResult"></add-method>
    <hr/>
    <h3>{{result}}</h3>
</div>
<script>
    Vue.component('add-method', {
        props: ['a', 'b'],
        template: '<div><button v-on:click="add">加吧</button></div>',
        methods: {
            add: function(){
                var value = 0;
                value = this.a + this.b;
                this.$emit('add_event', {
                    result:value
                });
            }
        },
    });
    var myApp = new Vue({
        el: '#myApp', 
        data: {
            result: 0
        },
        methods: {
            getAddResult: function(pval){
                this.result = pval.result;
            }
        },
    });
</script>

31. 组件:slot插槽

知识点
  • slot
slot

slot是父组件与子组件的通讯方式,可以将父组件的内容显示在子组件当中。

综合例
<div id="myApp">
    <say-to pname="koma">
        你的视频做的太差了。
    </say-to>
    <say-to pname="mike">
        你千万不要学koma。
    </say-to>
    <say-to pname="john">
        你教教他们两个吧。
    </say-to>
</div>
<script>
    Vue.component('say-to', {
        props: ['pname'],
        template: '<div>'
            + '你好,<strong>{{pname}}</strong>!'
            + '<slot></slot>'
            + '</div>',
    });
    var myApp = new Vue({
        el: '#myApp',
    });
</script>

32. 组件:组合slot

知识点
  • slot命名
slot命名

在子组件中通过为多个slot进行命名,来接受父组件的不同内容的数据。文章来源地址https://www.toymoban.com/news/detail-400933.html

综合例
<div id="myApp">
    <nba-all-stars c="奥尼尔" pf="加内特">
        <span slot="sf">皮尔斯</span>
        <span slot="sg">雷阿伦</span>
        <span slot="pg">隆多</span>
    </nba-all-stars>
</div>
<script>
    Vue.component('nba-all-stars', {
        props: ['c', 'pf'],
        template: '<div>'
            + '<div>中锋:{{c}}</div>'
            + '<div>大前:{{pf}}</div>'
            + '<div>小前:<slot name="sf"></slot></div>'
            + '<div>分卫:<slot name="sg"></slot></div>'
            + '<div>控卫:<slot name="pg"></slot></div>'
            + '</div>',
    });
    var myApp = new Vue({
        el: '#myApp',
    });
</script>

到了这里,关于Vue.js学习详细课程系列--共32节(6 / 6)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uniapp系列-超详细教你在uni-app+vue3里通过web-view组件传递信息打开H5页面写入localstorage并解决兼容性

    web-view 是一个 web 浏览器组件,可以用来承载网页的容器,会自动铺满整个页面(nvue 使用需要手动指定宽高)。 点击这里直达官网文档 点击这里下载我的代码demo 本文最下面还有一些 常见或者奇怪问题解决方案 哦~ 之前开发好的H5页面,不想重新开发,想要直接放进项目用

    2024年02月09日
    浏览(52)
  • 【开源】JAVA+Vue.js实现大学计算机课程管理平台

    大学计算机课程管理平台包含实验课程模块、实验资源模块、学生实验模块,前端采用Vue.js,采用View UI组件库美化界面,后端采用SpringBoot框架。在操作系统、开发语言、服务器,数据库、连接技术方面,对应使用Window操作系统、Java语言、Tomcat服务器、MySql数据库以及MyBatis技

    2024年02月20日
    浏览(38)
  • STM32课程学习心得

                  在过去的几个月里,我投入了大量的时间和精力来深入学习STM32微控制器的相关知识。这段学习经历让我对这个领域有了更深入的理解,也让我有了更多的自信去面对实际工程的挑战。以下是我对这段学习经历的总结和心得体会。 在学习STM32的过程中,我主要

    2024年02月04日
    浏览(42)
  • vue 子组件向父组件传递参数 子传父

    子组件中写: this.$emit(\\\'RowCount\\\',res.data.RowCount); 父组件中写:             getMFGLRowCount(val){                 //父组件中的方法: 接收子组件传过来的参数值赋值给父组件的变量                 //this.totalCount = val;                 alert(\\\"这是父组件 methods 中的方法

    2024年02月09日
    浏览(30)
  • 【STM32】STM32学习笔记-课程简介(01)

    程序纯手打,手把手教学 STM32最小系统板+面包板硬件平台 该平台比较适合高校在校大学生学习STM32。 STM32最小系统+面包板 Windows10操作系统 万用表、示波器、镊子、剪刀等 Keil5 MDK 4.1 面包板和跳线/飞线 4.2 杜邦线和STM32最小系统板 4.3 STLINK和OLED显示屏 4.4 LED和按键 4.5 电位器和

    2024年03月18日
    浏览(44)
  • Vue 子组件触发父组件事件,传递多个参数以及异常情况处理

    今天这篇文章记录一下子组件调用父组件事件, 传参的逻辑 。 以及一些特殊的情况。 1.1 父组件 1.2 子组件 1.3 效果截图 上述的示例其实就是一个最基础的,子组件触发父组件事件的代码。 2.1 注意事项一: 子组件 $emit 的事件名和父组件接收的事件名必须相同。 事件名称不

    2024年02月03日
    浏览(67)
  • 【vue】vue.js中引入组件

    注意组件中的name命名方式 希望我的分享能够帮助到更多的人,如果觉得我的分享有帮助的话,请大家一键三连支持一下哦~ ❤️原创不易,期待你的关注与支持~ 点赞👍+收藏⭐️+评论✍️ 😊之后我会继续更新前端学习小知识,关注我不迷路~

    2024年02月12日
    浏览(37)
  • vue 简单实验 自定义组件 传参数 props

    1.代码 2.运行结果  3.备注 注:这里todo-item v-bind:todo=\\\"todo1\\\"/todo-item的\\\"todo1\\\"必须是来自组件的变量名,如果想直接赋值是不行的。  

    2024年02月11日
    浏览(29)
  • Vue.js组件精讲 第2章 基础:Vue.js组件的三个API:prop、event、slot

    如果您已经对 Vue.js 组件的基础用法了如指掌,可以跳过本小节,不过当做复习稍读一下也无妨。 一个再复杂的组件,都是由三部分组成的:prop、event、slot,它们构成了 Vue.js 组件的 API。如果你开发的是一个通用组件,那一定要事先设计好这三部分,因为组件一旦发布,后面

    2024年04月16日
    浏览(67)
  • VUE,子组件给父组件传递参数,props 自定义属性,ref

    AA组件 BB CC

    2024年02月14日
    浏览(32)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包