gpt4 book ai didi

vue.js - 在Vue js中将类作为 Prop 传递?

转载 作者:行者123 更新时间:2023-12-04 11:26:18 25 4
gpt4 key购买 nike

这是我想将 bind :class 发送到两个子组件的父组件

 <TextInput
:icon="['fa', 'user']"
type="text"
placeholder="Name"
v-model.trim="userDetails.buyer_name.$model"
:class="{
'is-invalid': $v.buyer_name.$error,
'is-valid': !$v.buyer_name.$invalid
}"
>
这是这里的子组件,我希望接受类作为 Prop
   <div class="product-form">
<fa-icon class="icons" :icon="icon" ></fa-icon>
<input :type="type" :placeholder="placeholder" />
</div>
</template>

最佳答案

您不能使用属性 class作为 Prop ,因为它保留用于呈现父元素的类。如果您尝试这样做,您将在控制台中收到警告:

"class" is a reserved attribute and cannot be used as component prop.


所以使用另一个名称,例如 childclass :
:childclass="{
'is-invalid': $v.buyer_name.$error,
'is-valid': !$v.buyer_name.$invalid
}"
在 child 身上应用它,如:
<input :class="childclass" />
这是一个演示:

Vue.component('child', {
props: ['childclass'],
template: `
<div>
<input :class="childclass" />
</div>
`
})

new Vue({
el: "#app"
});
.testclass {
border: 10px solid red;
}
<div id="app">
<child :childclass="{ testclass: true }"></child>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>

关于vue.js - 在Vue js中将类作为 Prop 传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65827288/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com