vue.js - vuetify:通过传递的道具计算网格宽度
问题描述
我想制作一个菜单组件,它根据作为道具传入的 menuItems 的数量构建相同大小的按钮。
类似于 https://stackoverflow.com/a/47215040/6066886 我想给 v-flex 一个条件属性。(xs6 表示两个项目,xs4 表示三个项目,依此类推)
(类似<v-flex v-for="item in menuItems" xs[12 / menuItems.length]>
)
在链接的问题中,想法是根据条件传递或不传递“xs10”。
我想计算其中哪些将被添加到我的 v-flex 中,但我不知道该怎么做..因为我无法 v-bind 任何东西......有人可以帮助我吗?
解决方案
您可以将计算属性绑定为类对象:
<v-flex :class="xsComputed" v-for="(item,i) in items" :key="i">{{item}}</v-flex>
...
new Vue({
el: '#app',
data: function() {
return {
items: [1, 2, 3, 4]
}
},
computed: {
xsComputed: function() {
var step = Math.floor(10 / this.items.length)
var xsc = {}
xsc['xs' + step] = true
console.log(xsc)
return xsc
}
}
})
推荐阅读
- c# - C# HttpWebRequest - 无法解析此请求:“客户端将 MD5 哈希添加到 X-OriginalHash HTTP 标头”
- java - 将 Vaadin CheckBox 保存到 JPA 的正确方法是什么?
- reactjs - Reactjs - jquery 未在 npm 安装库中定义 - jquery.reel
- excel - 将用户窗体文本框中的文本粘贴到另一个工作表上的 ActiveCell 的相应单元格
- python - 在 Python 中使用 tkinter 打包帧的问题
- arrays - 如何用数组中的元素替换文件中的单词
- kubernetes - 转义 helm yml 进行部署
- django - 如何根据外键的主键上传文件?
- android - 如何在 AR 中将 3D 模型放置在屏幕中心,并相对于轴上的摄像机角度将其移动近或远?
- c# - LINQ如何在where子句中将方法变量作为列名传递