Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用自定义敲除映射时获取索引值_Javascript_Knockout.js - Fatal编程技术网

Javascript 使用自定义敲除映射时获取索引值

Javascript 使用自定义敲除映射时获取索引值,javascript,knockout.js,Javascript,Knockout.js,我正在设置一个击倒视图模型,如下所示: var Schedule = function(data, parent) { var self = this; ko.mapping.fromJS(data, {}, self); self.foo = 'bar'; ... }; var ScheduleViewModelMapping = { 'schedules': { create: function(options) {

我正在设置一个击倒视图模型,如下所示:

var Schedule = function(data, parent) {
    var self = this;
    ko.mapping.fromJS(data, {}, self);
    self.foo = 'bar';
    ...
};

var ScheduleViewModelMapping = {
    'schedules': {
        create: function(options) {
            return new Schedule(options.data, options.parent);
        }
    }
};

ko.mapping.fromJS(data, ScheduleViewModelMapping, self);

$(document).ready(function() {
    var ViewModel = new ScheduleViewModel;
    ko.applyBindings(ViewModel);
});

Schedules是一个数组,我希望能够在某处获取当前计划的索引,以便能够将其与options.data和options.parent一起传递给schedule对象。

我建议更改映射处理程序,以便它可以存储某些状态:

var ScheduleViewModelMapping = new (function(){
    var counter = 0;

    this.schedules = {
        create: function(options) {
            //use counter as index as required
            var s = new Schedule(options.data, options.parent);
            counter++;
            return s;
        }
    }

    this.resetCounter = function() {
        counter = 0;
    }
})();


ScheduleViewModelMapping.resetCounter();
ko.mapping.fromJS(data, ScheduleViewModelMapping, self);