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

建设网站网页电子商务网站建设实训作业

建设网站网页,电子商务网站建设实训作业,小程序模板制作软件,seo中国一、语法(props) 第一步&#xff1a;在组件模板表达式中&#xff0c;可以直接用$emit()方法触发自定义事件&#xff0c; <!-- MyComponent --> <button click"$emit(someEvent)">Click Me</button> 第二步父组件可以通过 v-on (缩写为 ) 来监听…

一、语法(props)

第一步:在组件模板表达式中,可以直接用$emit()方法触发自定义事件,

<!-- MyComponent -->
<button @click="$emit('someEvent')">Click Me</button>

第二步父组件可以通过 v-on (缩写为 @) 来监听事件:

<MyComponent @some-event="callback" />//组件的事件监听器也支持 .once 修饰符:
<MyComponent @some-event.once="callback" />
注意:

1.1、像组件prop一样,事件名字也提供了自动格式转换,上面触发了一个camelCase形式命名的事件,但在父组件中可以使用kebab-case形式监听

1.2、和原生 DOM 事件不一样,组件触发的事件没有冒泡机制。你只能监听直接子组件触发的事件。平级组件或是跨越多层嵌套的组件间通信,应使用一个外部的事件总线,或是使用一个全局状态管理方案(vuex)。

二、事件参数

// 子组件
<button @click="$emit('increaseBy', 1)">Increase by 1
</button>// 父组件:
// 第一种:可以先简单写一个内联的箭头函数作为监听器,此函数会接收到事件附带的参数;
<MyButton @increase-by="(n) => count += n" />// 第二种:还可以用一个组件方法来作为事件处理函数:
<MyButton @increase-by="increaseCount" />
function increaseCount(n) {count.value += n
}
注意:

       所有传入 $emit() 的额外参数都会被直接传向监听器。举例来说,$emit('foo', 1, 2, 3) 触发后,监听器函数将会收到这三个参数值。

二、声明触发事件

组件可以显式地通过 defineEmits() 宏来声明它要触发的事件:

<script setup>defineEmits(['inFocus', 'submit'])
</script>
注意:

      1. 我们在 <template> 中使用的 $emit 方法不能在组件的 <script setup> 部分中使用,但 defineEmits() 会返回一个相同作用的函数供我们使用:

<script setup>
const emit = defineEmits(['inFocus', 'submit'])function buttonClick() {emit('submit')
}
</script>

        2. defineEmits() 宏不能再子函数中使用,必须在<script setup>的顶级作用域下

        3、如果显示的使用setup函数,不使用<script setup>,则事件需要通过emits选项来定义,emit函数也被暴露在setup的上下文对象上

export default {
  emits: ['inFocus', 'submit'],
  setup(props, ctx) {
    ctx.emit('submit')
  }
}

  3、emits 选项和 defineEmits() 宏还支持对象语法

四、事件校验

        和对 props 添加类型校验的方式类似,所有触发的事件可以使用对象形式描述

        要为事件添加校验,那么事件可以被赋值为一个函数,接受的参数就是抛出事件时传入 emit 的内容,返回一个布尔值来表明事件是否合法。

<script setup>
const emit = defineEmits({// 没有校验click: null,// 校验 submit 事件submit: ({ email, password }) => {if (email && password) {return true} else {console.warn('Invalid submit event payload!')return false}}
})function submitForm(email, password) {emit('submit', { email, password })
}
</script>

http://www.dtcms.com/wzjs/591396.html

相关文章:

  • 网站权重能带来什么作用文登区城乡建设局网站
  • 网站建设资讯平台素材网站排行榜前十名
  • 什么是建设网站的主题公司网页设计论文题目大全
  • 网站检测中心辽宁省建设工程造价管理网站
  • 东莞市建设规划局网站首页一笔签名设计在线
  • 南平住房和城乡建设部网站怎样营销网站
  • 建站系统主要包括企业网站系统优惠券小程序源码
  • 郑州快速网站建设wordpress判断文章id
  • 深圳高端集团网站建设公司嘉兴网站制作设计
  • 做外贸哪个网站看外汇什么网站可以做进出口买卖
  • 做网站时的兼容问题域名永久免费注册
  • 七台河建网站推销商务网站的途径有哪些
  • 一个人做电商网站难吗网页设计基础知识总结
  • 公司网站建设成本外贸网站制作公司哪家好
  • 网站维护收费html免费网站模板下载
  • 网站建设叁金手指花总8体育用品东莞网站建设
  • 本机快速做网站详情页设计说明
  • p2p商城网站建设河南高端网站建设公司
  • 有哪些教做蛋糕的网站企业网站的主要类型有
  • 网站下载软件怎么安装自适应网站建设选哪家
  • 哪个网站做logo设计建筑网格
  • 网站备案ip地址上海社保
  • 网站制作步骤怎样通过网盘做电影网站
  • 有意思的网站网页设计与网站开发pdf
  • 威海医院网站制作购买域名做销售网站可以吗
  • 网站导航菜单代码wordpress去掉index.php
  • wordpress 缩略图 剪裁 位置百度优化点击软件
  • 电商网站设计与开发wordpress做联系页面
  • 服务好的网站建设平台互联网电子商务网站开发技术
  • 义乌微信网站建设费用企业中制度的重要性