小编chr*_*ism的帖子

Ember.js ArrayProxy模型数组

目标

创建一个由ArrayController(ArrayProxy)管理的Model数组.要求

使用ArrayController(ArrayProxy)抽象在插入ArrayProxy时自动封装Model的Convert对象输入到ArrayProxy的数组在访问时不要进行惰性转换

示例数据结构

App.AddressModel = Ember.Object.extend({
    address_name: null,
    address: null,
    printme: function() {
        console.log("Just making sure the array turned into an AddressModel");
    },
});

App.addressArray = Ember.ArrayProxy.create({
    transformFrom: function(item) {
    },
    transformTo: function(item) {
    },
    arrayContentWillChange: function(startIdx, removeAmt, addAmt) {
    },
});
Run Code Online (Sandbox Code Playgroud)

审判失败

动态财产

IRC频道中有人提到尝试动态属性.这导致了一个似乎是逻辑和经验证据的递归结果.毫无疑问,将内容设置为动态生成的变量和"触发/导出"变量.

arrayContentWillChange

再一次,看似递归的结果.收到arrayContentWillChange通知后,我从给定的数组索引项生成一个AddressModel.然后我将旧的索引项设置为创建的模型,再次触发arrayContentWillChange事件,重复... recurse.

transformFrom/transformTo

https://github.com/emberjs/ember.js/pull/554#issuecomment-5401112 tomdale在上面的帖子中提到尝试使用transformFrom和transformTo来转换传入和/或传出数据.这些功能似乎不存在[http://cloud.github.com/downloads/emberjs/ember.js/ember-0.9.8.js].

ArrayProxy模型补丁

https://github.com/emberjs/ember.js/pull/554 tomdale对这个问题的原始解决方案/帖子的建议似乎比jedwood引入的模型实现更好,但是,在Backbone.js处理这个问题使用特殊模型变量,我发现它运作良好.

问题

如何扩展ArrayProxy以将要管理的所有传入对象转换为AddressModel?

model ember.js

5
推荐指数
1
解决办法
2559
查看次数

标签 统计

ember.js ×1

model ×1