javascript - knockout 映射和父级选项

标签 javascript knockout.js knockout-mapping-plugin

我正在尝试绘制此 map

{ items: [
    { id: 1 },
    { id: 2 },
    { id: 3 }
]};

在数组中创建某些内容时,我添加一个函数以从集合中删除该项目。

var mapping = {
    'items': {
        key: function(data) {
            return ko.utils.unwrapObservable(data.id);
        },
        create: function(options) {
            var o = (new(function() {
                this._remove = function() {
                    options.parent.items.mappedRemove(options.data);
                };
                ko.mapping.fromJS(options.data, {}, this);
            })());
            return o;
        }
    }
};

如果我要删除使用 items.mappedCreate 添加的项目,则此方法有效,但不适用于 ko.mapping.fromJS 上映射的项目。

调试时我注意到 options.parent 在不同情况下并不相同。 为什么?两种方法都应该返回 observableArray 作为父项吗?

我已经设置了一个 jsfiddle 示例 http://jsfiddle.net/fampinheiro/9CcME/ .

谢谢

最佳答案

我在 knockout ggroups 中发布了我的问题

https://groups.google.com/d/topic/knockoutjs/cqBr_CPsfqc/discussion

Roy Jacobs 解决了我的 jsfiddle 问题。

关于javascript - knockout 映射和父级选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11827672/

相关文章:

knockout.js - 数字可观察值不适用于 knockout 验证

knockout.js - 在运行时将可观察量添加到模型中。但 ko.mapping.toJS 不会返回它们

javascript - 火狐插件-执行shell命令-参数编码

jquery - knockout 检测 foreach 中是否有可见的

javascript - 使用 knockoutJS,如何将列表项绑定(bind)到同一 View ?

knockout.js - 调用 knockout js函数

jQuery Knockout - 动态添加和删除 html 属性

javascript - 如何从 javascript 中捕获 Calendly iframe 重新安排事件

javascript - JQuery 检索文本而不是选择列表的值

javascript - 检查页面是否有任何可见的输入表单