[英]Why doesn't binding style my Vue component?
const EventLevelBoard = {
name: "EventLevel",
data: {
levelStyle: {
display: "block"
},
levelStyleinner: [
{ display: "block" },
{ display: "block" },
{ display: "block" }
]
},
template: `<ul class="eventlevel" v-bind:style="{data.levelStyle}">
<li v-for="(item, idx) in eventlist" v-key="idx" v-bind:style="levelStyleinner[idx]"><strong class="name">{{item.name}}</strong>
<strong class="size">{{item.size}}</strong></li>
</ul>`,
props: {
eventlist: {
type: Array
}
}
};
開發控制台錯誤:
data.levelStyle 未定義
data.levelStyleinneris 未定義
為什么它找不到那些數據屬性?
因為data
不是組件實例上的可用屬性,即使它顯然是在options中定義的。
您可以直接訪問數據,就像您在此處所做的那樣:
v-bind:style="levelStyleinner[idx]"
如果你真的想通過實例訪問它,你可以通過$data
來實現:
v-bind:style="$data.levelStyle"
綁定周圍不應有花括號{ }
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.