javascript - Ember.js - 如何过滤模型?

标签 javascript model filter ember.js coffeescript

我正在尝试找出如何最好地创建一种方法来使用 Ember.js 基于属性拉取特定对象。

现在我的模型看起来像这样:

App.Resume = Ember.Object.extend()

App.Resume.reopenClass
    store: {}

    findAll: ->
        arr = Ember.ArrayProxy.create()

        if xhr
            xhr.abort()
            return

        xhr = $.ajax(
            url: '../json/cv.json'
            dataType: 'json'
            timeout: 10000
            ).done (response) =>
                response.users.forEach (user, i) =>
                    cv = @findOne(user.personId)
                    cv.setProperties(user)
                    return
                values = (values for keys, values of @store)
                arr.set('content', values)

        arr

    findOne: (id) ->
        cv = @store[id]
        if not cv
            cv = App.Resume.create
                id: id
            @store[id] = cv
        cv

如果您查看完成回调中的循环,您会发现它正在使用 user.id 创建模型 - 还有一个 user.specialization 字段。我希望能够通过该字段进行过滤。

任何想法/帮助将不胜感激!

谢谢!

丰富

最佳答案

您可以在任何 Ember Enumerable 上使用 filterProperty,例如 ArrayArrayProxy。默认情况下它匹配存在。您还可以传入一个参数来匹配数组中的每个属性。您可以将其与计算属性配对以在 View 中绑定(bind)。

filtered: function() {
  return this.get('products').filterProperty('outOfStock')
}.property('products')

查看此jsbin举个例子。

关于javascript - Ember.js - 如何过滤模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17376256/

相关文章:

javascript - 无法在 Firebase 实时数据库中实现分页

ruby-on-rails - 如何将多个 Controller 与一个模型一起使用?

filter - C# : How to use directshow.net 显示此对话框?

c# - 如何在使用 LINQ C# 创建新对象时访问内部属性?

python - Django 要求我安装 pytz,现在我的模型无法验证 Django

Javascript用另一个元素数组过滤一个数组

javascript - Angularjs 自定义过滤器不触发

javascript - Laravel 和 Ajax - foreach json 对象并处理重复项

javascript - 如何向我的数据添加 HTML 表格并保留 Google 表格格式

javascript - 下拉式菜单。当您将鼠标悬停在它将出现的位置时,子菜单会下拉