spz-event 事件监听

支持布局: logic

何时使用

  • 需要监听全局的事件,事件被触发后,调用目标元素的方法。
  • 需要监听 window 的 message 事件,该事件被触发后,组件抛出 message 事件。

代码演示

基本用法

当监听的事件触发后,调用目标元素指定的方法。

<spz-event
  event-name="dj.addToCart"
  target-id="cart"
  target-api="render"
  layout="logic"
></spz-event>

监听 window

监听 window 元素,当它的 meesage 事件被触发时,组件自动触发 message 事件。

<spz-event
  event-name="message"
  observer-id="window"
  @message="..."
  layout="logic"
></spz-event>

属性

属性名说明类型默认值是否必需
event-name需要监听的事件名称,如有多个事件,使用 ; 分隔string-
target-id目标元素的id,当监听的事件被触发时,调用 target-api 指定的方法string-
target-api指定目标元素要调用的方法stringrender
observer-id需要观察的元素id,如果配置了,事件监听绑定会等到该元素在页面中可以被找到才绑定string | window对象-
delay延迟调用目标元素的方法,单位毫秒number0
keep-status存在此属性,浏览器缓存将会写入记录,事件只会被触发一次--
manual存在此属性时,事件参数才会被传递,否则事件参数为null--

方法

unListen

取消对指定事件的监听。

参数名说明类型是否必需
eventName需要取消监听的事件名string

事件

message

当元素满足 event-name="message"observer-id="window" 条件且window的 message 事件被触发时,该组件会自动触发该事件。

  • event 对象的数据为原生监听的 event.data

AI 摘要(LLM Ready)

  • 组件标识spz-event
  • 用途一句话:监听事件,事件触发后,调用目标元素的方法。
  • 可识别属性条目:7
  • 可识别方法小节:1
  • 可识别事件小节:1
  • 关键属性名(Top)event-nametarget-idtarget-apiobserver-iddelaykeep-status
  • 关键方法名(Top)unListen
  • 关键事件名(Top)message
  • 阅读顺序建议:先看「何时使用」与「代码演示」,再核对属性/方法/事件。
  • 关联文档/guide/actions-and-events//guide/layouts/