我正在使用余烬的查询参数按布局类型过滤结果列表。我想检查指定的查询是否在availableLayouts中。我知道我可以检查该值是否在此数组中,但是我不确定在什么时候余烬会设置“布局”参数。是否有一个方法或操作被调用,可以覆盖set调用以确保它存在于availableLayouts中?
queryParams: ['filter', 'layout']
layout: 'grid'
availableLayouts: ['grid', 'list']
最佳答案
您将使用计算属性来完成所需的操作。
你可以做类似的事情
queryParams: ['filter', 'layout'],
layout: 'grid',
availableLayouts: ['grid', 'list'],
isLayoutAvailable: function(){
var layout = this.get('layout');
var availableLayouts = this.get('availableLayouts');
return availableLayouts.contains(layout);
}.property('layout', 'availableLayouts.[]')
这将创建一个
isLayoutAvailable
属性,如果布局在availableLayouts数组中,该属性将自动更新您可以在此处看到一个工作箱:http://emberjs.jsbin.com/gaker/1/edit?html,js,output
关于javascript - 在emberjs中查询参数允许的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26133135/