構成部品-ベース
コンポーネントの再利用
構成部品を再使用するには、
Mybtn
という構成部品を作成し、props
でcolor
を別の構成部品に置き換えます.<template>
<MyBtn />
<MyBtn color="royalblue" />
<MyBtn />
<MyBtn />
</template>
<script>
import MyBtn from '~/components/MyBtn'
export default {
components: {
MyBtn
}
}
</script>
受信したTypeは
String
なので、App.vue
から<MyBtn color="#000" />
の部分をメールで受信します.<template>
<div
:style="{ backgroundColor: color}"
class="btn">
Apple
</div>
</template>
<script>
export default {
props: {
color: {
type: String,
default: 'gray'
}
}
}
</script>
<style scoped>
.btn {
display: inline-block;
margin: 4px;
padding: 6px 12px;
border-radius: 4px;
background-color: gray;
color: white;
cursor: pointer;
}
</style>
Button, slot
私たちが普段使っている
Button
のように、中に内容を入れることができます. <MyBtn>banana</MyBtn>
<MyBtn :color="color" />
<MyBtn
large
color="royalblue" />
<MyBtn />
</template>
...
<slot></slot>
で印刷したい場所にコンテンツを設定できます.コンテンツが置き換えられます!つまり、
text
を提供する必要はありません.<template>
<div
:class="{ large }"
:style="{ backgroundColor: color}"
class="btn">
<slot></slot>
</div>
</template>
...
! では、slotラベルにはアルファベットしか含まれていませんか?正解はNo
<MyBtn :color="color">
<span style="color: red;">Banana</span>
</MyBtn>
このようにしてprops
の間に入るすべてのコンテンツは <MyBtn></MyBtn>
のコンテンツである.上記の例では、<slot></slot
という部分を<span style="color: red;">Banana</span>
と呼ぶことができる.さらに、
slot
を使用することは、我々が知るslot
構造のHTML
と同様に使用することができる.Reference
この問題について(構成部品-ベース), 我々は、より多くの情報をここで見つけました https://velog.io/@onehousesilver/컴포넌트-기초テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol