使用函数将 V-show 设置为 true 或 false
set v-show to true or false with a function
我有一个使用 Vue 渲染的属性列表(房屋、公寓,...)。
每个属性的显示与否取决于一些充当筛选器的按钮。这些"过滤器"在我的数据对象中设置:
data: {
properties: myPropertiesList,
rooms: {
1: false,
2: false,
3: false,
4: false,
},
type: {
flat: false,
house: false,
field: false
}
},
当用户单击选项按钮时,我将这些选项设置为 true 或 false。
目前,我使用当前表达式设置 v-show:
v-show="房间[属性。房间]&&类型[属性。类别]"
<div v-show="rooms[property.Rooms] && type[property.Category]"
class="col-md-3"
v-for="property in properties"
>
<property :property="property">
</div>
。而且它工作正常。但是,我宁愿做这样的事情:
v-show="showProperty(property)"
。并编写返回 true 或 false 的 showProperty() 函数。
- 这样的事情可能吗?
- 如果是,你在哪里声明函数?我尝试了方法对象,但它不起作用。
Jeff提出的过滤器的使用是要走的路,但我想回答你的直接问题,如果这可以通过函数实现,因为它是。
您只需将函数添加到组件方法对象:
methods: {
showProperty (property) {
return this.rooms[property.Rooms] && this.type[property.Category]
}
}
这
看起来像是v-for
过滤的调用:
...
data:function(){
properties:MyPropertyList,
rooms: [1,2,3,4],
types: ['flat','house','field']
},
...
<div v-for="property in properties | filterBy Room in rooms | filterBy Category in types"
class="col-md-3"
>
<property :property="property">
</div>
仅当property.Room
位于 rooms
数组中,而property.Category
位于 types
数组中时,这将显示属性。
如果需要对象中的房间和类型,就像现在一样,可以使用计算属性来创建用于筛选的数组。
computed:{
roomList:function(){
//go through the rooms object and return an array of the true ones
}
}
如果要使用自定义函数进行筛选,可以:
<div v-for="property in properties | filterBy showPropertyFilter rooms type">
在所有这些之前,请创建过滤器:
Vue.filter('showPropertyFilter',function(properties, rooms, type){
//return only the properties that should show
});
相关文章:
- JavaScript-切换“;全部检查”;复选框true/false
- true==false以某种方式计算为true
- Javascript似乎在说true ==false
- JavaScript onkeydown, return true,false
- 从异步函数返回true/false以用于同步if()
- 函数返回undefined而不是true/false
- 为什么true/true是1,true/false是无穷大,false/true是0,false/false是NaN
- 检查对象数组是否包含布尔值true/false
- 函数:根据字符串中是否存在子字符串返回 True/False
- 如何将 ng-show 与控制器中返回 true/false 的函数一起使用
- 在input.checked=true/false _without_ jQuery上触发一个事件
- jQuery javascript未正确返回true/false
- 如何从嵌套的jquery回调函数中返回true/false
- 如何在骨干模型属性中设置布尔值true/false
- 如何使用angular或javascript在基于true/false返回的html中显示值
- 基于true/false变量显示/隐藏进度条
- Node.js在返回true/false时停止函数
- 是否可以将true/false值传递给ajax函数
- 根据Webix中的复选框值编辑true/false
- Meteor:设置车把变量true/false