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

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

Vue.js学习课程(6 / 6)

      • 29. 组件:参数验证
        • 知识点
        • 组件的数据
        • 综合例
      • 30. 组件:事件传递
        • 知识点
        • v-on
        • $emit
        • 综合例
      • 31. 组件:slot插槽
        • 知识点
        • slot
        • 综合例
      • 32. 组件:组合slot
        • 知识点
        • slot命名
        • 综合例

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进行命名,来接受父组件的不同内容的数据。

综合例

<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>
http://www.lryc.cn/news/56025.html

相关文章:

  • 【TFT屏幕】1.44寸彩屏
  • vue3组合式api
  • Maven高级-私服
  • 网络优化小结
  • Android 11.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)
  • 个人练习-Leetcode-1942. The Number of the Smallest Unoccupied Chair
  • EMC经典问答85问(59-62问)
  • Java面向对象 - 封装、继承和多态的综合练习(答案+知识点总结)第1关:封装、继承和多态进阶(一)+ 第2关:封装、继承和多态进阶(二)
  • 小迪安全day20WEB漏洞-文件上传之基础及过滤方式
  • LeetCode236.最近的公共祖先
  • 【springcloud 微服务】Spring Cloud Alibaba整合Sentinel详解
  • ASP医院管理系统—病历管理系统的设计与实现
  • 【蓝桥杯】动态规划(dp)入门!| 入门动态规划的正确方式! ——学习笔记
  • 元宇宙与网络安全
  • Pod控制器之hpa
  • 发现一个白嫖GPT4.0的方法!真的是完胜3.5!
  • 数据结构之第四章、ArrayList和顺序表
  • webase全家桶搭建教程过程记录+bug解决
  • openEuler Linux 部署 HadoopHA
  • React-Hooks----useEffect()
  • JavaWeb基础-汇总
  • Niuke:JZ36.二叉树与双向链表
  • javaScript---读懂promise、async/await
  • 【Linux】TCP编程流程
  • SuperMap iDesktop 下载安装,生成本地瓦片,以及发布本地瓦片服务
  • 【ONE·Data || 常见排序说明】
  • 本节作业之跟随鼠标的天使、模拟京东按键输入内容、模拟京东快递单号查询
  • ChatGPT 被大面积封号,到底发生什么了?
  • 教你精通JavaSE语法之第十一章、认识异常
  • display、visibility、opacity隐藏元素的区别