jau*_*udo 5 vue.js vuejs2 vuetify.js
我正在尝试制定一个条件来启用命名插槽,如下所示:
<template v-slot:item="{ item }" v-if="item.loading">
<v-progress-circular indeterminate color="primary"></v-progress-circular>
</template>
Run Code Online (Sandbox Code Playgroud)
我的用例是 Vuetify 数据表:每个项目都有一个“正在加载”属性,并且我想仅在加载行时激活“项目”插槽(“项目”插槽是用于替换行的默认渲染的插槽)
错误是item
在 中未定义v-if
,这似乎是逻辑: item 仅为template
子标签定义。
有办法解决这个问题吗?
您可以使用计算属性过滤传递到数据表的项目。
你能不根据加载交换元素吗?
Vue.config.devtools = false;
Vue.config.productionTip = false;
var app = new Vue({
el: '#app',
data: {
items: [{data : "", loading: true}, {data : "Some data", loading: false}]
}
})
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.17/vue.js"></script>
<div id="app">
<div v-for="item in items">
<div>
<div v-if="item.loading">
Loading...
</div>
<div v-else>
{{item.data}}
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)