以“組件詳情彈窗”為例,做一下案例演示
建立ComponentDetails.vue組件
<template>
<!-- Modal是使用的iview模態窗組件,與傳遞參數無關 -->
<Modal v-model="modalStatus" draggable scrollable>
<div slot="header" style="font-weight:bold;">
<!-- 展示props傳遞過來的值 -->
<span>{{mode}}---{{search}}</span>
</div>
<div slot="footer"></div>
</Modal>
</template>
<script>
// 注意:httpVueLoader.js使用props傳遞參數時,需要參數名稱全部小寫(大小寫混合情況,只能通過this.$attrs獲取到屬性值,但是不能建立props)
module.exports = {
props: {
mode: String,
search: Boolean,
},
data: function () {
return {
modalStatus: true,
};
},
created: function () {},
mounted: function () {},
methods: {},
};
</script>
父頁面引用ComponentDetails.vue組件
<script> // 注意引用組件名稱全小寫,路徑中的組件大小寫可以隨意 new Vue({ el: '#app', components: { 'component-details': httpVueLoader('/Content/VueComponents/ComponentDetails.vue') }, data: { } } </script>
<body> <!--組件詳情彈窗,model為靜態參數,search為動態參數--> <component-details mode="byBaseId" v-bind:search="true"></component-details> </body>
效果圖:

