Vue: ꡬ성 μš”μ†Œλ₯Ό μ†μžμ˜ 쀑첩 된 λͺ…λͺ… 된 μŠ¬λ‘―μ— μ „λ‹¬ν•˜λ©΄ κΈ°λ³Έ μŠ¬λ‘―μ—μ„œ ν™•μΈλ©λ‹ˆλ‹€.

에 λ§Œλ“  2017λ…„ 11μ›” 03일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: vuejs/vue

버전

2.5.2

볡제 링크

https://jsfiddle.net/daxchen/k75y6tu0/

μž¬ν˜„ 단계

λ‚΄ μ‚¬μš© μ‚¬λ‘€λŠ” νˆ΄λ°”μ™€ κΈ°λ³Έ μ½˜ν…μΈ  λž˜νΌκ°€μžˆλŠ” κΈ°λ³Έ λ ˆμ΄μ•„μ›ƒμ΄ μžˆλ‹€λŠ” κ²ƒμž…λ‹ˆλ‹€. κ·ΈλŸ¬λ‚˜ 일뢀 νŽ˜μ΄μ§€μ—λŠ” SearchBar ν•˜κ³  μΌλΆ€λŠ” ν•„μš”ν•˜μ§€ μ•ŠμœΌλ©° λ ˆμ΄μ•„μ›ƒμ—λŠ” λ‹€λ₯Έ μˆ˜μ€€μ΄μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

κ·Έλž˜μ„œ λ‹€λ₯Έ λ ˆμ΄μ•„μ›ƒμ—μ„œ μ‚¬μš©ν• λ² μ΄μŠ€λ‘œ LayoutDefault λΌλŠ” ꡬ성 μš”μ†Œλ₯Ό λ§Œλ“€μ—ˆμŠ΅λ‹ˆλ‹€. 그리고 ν•„μš”ν•  λ•Œ κΈ°λ³Έ 도ꡬ λͺ¨μŒμ„ λŒ€μ²΄ ν•  수 있기λ₯Ό μ›ν•˜κΈ° λ•Œλ¬Έμ— κΈ°λ³Έ 도ꡬ λͺ¨μŒμ„ <slot name="toolbar"> 에 λ„£κ³  Toolbar λ₯Ό λŒ€μ²΄ μ½˜ν…μΈ λ‘œ μ‚¬μš©ν•©λ‹ˆλ‹€.

μ½”λ“œ 쑰각 :

// LayoutDefault.vue
<slot name="toolbar">
  <Toolbar title="title from layout-inner">
    <slot name="toolbarSlot"></slot>
  </Toolbar>
</slot>

λ‹€μŒμ„ μˆ˜ν–‰ ν•  수 있기 λ•Œλ¬Έμ— μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ ꡬ성 μš”μ†Œλ₯Ό λ§Œλ“­λ‹ˆλ‹€.

  1. ν•„μš”ν•œ 경우 κΈ°λ³Έ 도ꡬ λͺ¨μŒμ„ κ΅μ²΄ν•©λ‹ˆλ‹€.
  2. κΈ°λ³Έ νˆ΄λ°”λ₯Ό μ‚¬μš©ν•˜μ§€λ§Œ μŠ¬λ‘―μ— ν•­λͺ©μ„ μ „λ‹¬ν•©λ‹ˆλ‹€ (μœ„μ˜ μ˜ˆμ—μ„œ "toolbarSlot" ).

그런 λ‹€μŒ λ‹€λ₯Έ λ ˆμ΄μ•„μ›ƒ ꡬ성 μš”μ†Œμ—μ„œ λ‹€μŒμ„ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

// LayoutLv1.vue
<div class="layout">
  <LayoutDefault>
    <slot name="toolbar" slot="toolbar"></slot>
    <slot name="toolbarSlot" slot="toolbarSlot"></slot>
    <slot>default content from Layout</slot>
  </LayoutDefault>
</div>

λ³΄μ‹œλ‹€μ‹œν”Ό ꡬ성 μš”μ†Œλ₯Ό μ†μžμ˜ μŠ¬λ‘―μ— μ „λ‹¬ν•˜κΈ° μœ„ν•΄ <slot name="foo" slot="foo"> νŒ¨ν„΄μ„ μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€.

μ–΄λ–€ 이유둜이 νŒ¨ν„΄μ„ μ‚¬μš©ν•˜μ—¬ 전달 된 ꡬ성 μš”μ†Œκ°€μžˆλŠ” 경우 κΈ°λ³Έ 슬둯 으둜 μ „λ‹¬λ©λ‹ˆλ‹€.

볡제의 예 2, 3 및 4λ₯Ό μ°Έμ‘°ν•˜μ‹­μ‹œμ˜€.

무엇을 κΈ°λŒ€ν•©λ‹ˆκΉŒ?

λͺ…λͺ… 된 μŠ¬λ‘―μ— 아무것도 μ „λ‹¬λ˜μ§€ μ•ŠμœΌλ©΄ λŒ€μ²΄ μ½˜ν…μΈ κ°€ ν•΄λ‹Ή 슬둯과 ν•¨κ»˜ λ Œλ”λ§ 될 κ²ƒμœΌλ‘œ μ˜ˆμƒν•©λ‹ˆλ‹€.

μ‹€μ œλ‘œ 무슨 일이 μΌμ–΄λ‚˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

예 2μ—μ„œ ꡐ체 된 Toolbar λŠ” LayoutDefault 의 κΈ°λ³Έ μŠ¬λ‘―μ—μ„œ λ Œλ”λ§λ©λ‹ˆλ‹€.

예제 3 및 4μ—μ„œ SearchBar λŠ” slot="toolbarSlot" 둜 μ „λ‹¬λ˜μ§€λ§Œ λ Œλ”λ§λ˜μ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€.


이것이 μ˜ˆμƒ 된 λ™μž‘μž…λ‹ˆκΉŒ?
λ˜λŠ” 각 κΈ°λ³Έ λΆ€ν’ˆμ„ ꡐ체 ν•  μˆ˜μžˆλŠ” μ΄λŸ¬ν•œ μ’…λ₯˜μ˜ μž¬μ‚¬μš© κ°€λŠ₯ν•œ λ ˆμ΄μ•„μ›ƒμ„ λ§Œλ“€κ³  κΈ°λ³Έ λΆ€ν’ˆμ„ μ‚¬μš©ν•˜λŠ” 경우 ꡬ성 μš”μ†Œλ₯Ό (κΈ°λ³Έ λΆ€ν’ˆ) μŠ¬λ‘―μ— 전달할 μˆ˜μžˆλŠ” 방법이 μžˆμŠ΅λ‹ˆκΉŒ?

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

btw 이것은 이미 2.5.3μ—μ„œ λ‚˜μ™”μŠ΅λ‹ˆλ‹€ :)

λͺ¨λ“  5 λŒ“κΈ€

λ†€λžκ΅°μš”!
볡제, ꡬ좕 및 ν…ŒμŠ€νŠΈλ₯Ό κ±°μ³€ μŠ΅λ‹ˆλ‹€ .
μ—λ°˜ μ΅œκ³ μ•Ό ~~~
정말 κ³ λ§™μŠ΅λ‹ˆλ‹€!!!

btw 이것은 이미 2.5.3μ—μ„œ λ‚˜μ™”μŠ΅λ‹ˆλ‹€ :)

2.5.3의 슬둯 λ²”μœ„μ—μ„œλ„ μž‘λ™ν•©λ‹ˆκΉŒ? :)

@faragos λŠ” 슬둯 λ²”μœ„λ₯Ό μ‚¬μš©ν•˜λŠ” μ†μžμ—κ²Œ μŠ¬λ‘―μ„ μ „λ‹¬ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

https://jsfiddle.net/alexm/5hx43mb2/

@ alex-martinez μ†”λ£¨μ…˜μ„ κ²Œμ‹œ ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€. 큰 λ„μ›€μ΄λ˜μ—ˆμŠ΅λ‹ˆλ‹€. :)

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰