我正在使用余烬的查询参数按布局类型过滤结果列表。我想检查指定的查询是否在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/

10-11 12:35