front/vue

[vue]mergeProps()

juniKang 2022. 7. 30. 14:50

mergeProps()는 여러 props 객체를 합치는 기능을 한다.

Type

function mergeProps(...args: object[]): object

Details

mergeProps()는 다음 props들을 만들기 위해 특별한 동작방식으로 여러개의 props 객체들을 합치는 기능을 한다:

  • class
  • style
  • onXxx 이벤트 리스너 - 같은 이름을 가진 여러개의 리스너들은 배열로 합쳐질 것이다

만약 합치는걸 원하지 않고 덮어 씌우기를 원한다면, 기본 객체의 스프레드('...')기능을 써라.

Example

import { mergeProps } from 'vue'

const one = {
  class: 'foo',
  onClick: handlerA
}

const two = {
  class: { bar: true },
  onClick: handlerB
}

const merged = mergeProps(one, two)
/**
  {
    class: 'foo bar',
    onClick: [handlerA, handlerB]
  ]
*/