2

我正在尝试使用微风和淘汰赛的样本

manager.executeQuery(query).then(function(result){
    console.log(result);    
    ko.applyBindings(result);
}).fail(function(e) {
    console.log(e); 
     alert(e);  
});

在控制台中打印时。我在路径中有两个对象,在路径中data.XHR.result.responseJSON有两个对象data.results

但是在由于淘汰绑定而创建的视图中,我将第二组值填充了​​两次。(我在数据库中有两组值)

注意:如果我没有定义任何元数据,则此代码有效。问题出在我使用元数据的场景中

元数据

var sample=sample||{};sample.metadata=
{
    "dataServices":[
        {
            "serviceName":"/sample",
            "hasServerMetadata":true,
            "jsonResultsAdapter":"webApi_default",
            "useJsonp":false
        }
    ],
    "structuralTypes":[
        {
            "shortName":"Employee",
            "autoGeneratedKeyType":"None",
            "defaultResourceName":"Employee",
            "dataProperties":[
                {
                    "name":"id",
                    "dataType":"MongoObjectId",
                    "isNullable":false,
                    "defaultValue":"",
                    "isPartOfKey":true,
                    "validators":[
                        {
                            "name":"required"
                        }
                    ]
                },
                {
                    "name":"name",
                    "dataType":"String",
                    "maxLength":100,
                    "validators":[
                        {
                            "maxLength":100,
                            "name":"maxLength"
                        }
                    ]
                },
                {
                    "name":"age",
                    "dataType":"String",
                    "maxLength":100,
                    "validators":[
                        {
                            "maxLength":100,
                            "name":"maxLength"
                        }
                    ]
                }
            ]
        }
       ], 
    "resourceEntityTypeMap":{
        "Employee":"Employee"
    }
};
4

1 回答 1

2

确保你有一个在你的模型中定义的主键并通过网络连接。如果您将这些值保留为 null,当微风将它们添加到缓存并看到键相同时,它们将相互覆盖。

于 2013-10-11T11:55:17.017 回答