2

ASP.NET MVC 4 Beta を使用してシングル ページ アプリケーションとしてサイトを構築しています。

サンプル アプリでは、新しいエンティティの追加について説明し、製品エンティティのコンストラクター関数を使用しています。

ただし、多くのエンティティ タイプがあり、それぞれに対してコンストラクタ関数を記述するつもりはありません。これは、新しいエンティティを作成する方法です (nameはデータソースの名前でありdataTarget.upshot.upshotData、coffeeScript の GetEntities メソッドから返されるエンティティのリストです...

newItem = {}
for field, def of upshot.metadata(upshot.dataSources[name]._entityType).fields
    do (field, def) ->
    if def.array
        newItem[field] = new ko.observableArray()
    else
        newItem[field] = new ko.observable()
        upshot.addEntityProperties newItem, upshot.dataSources[name]._entityType
        dataTarget.upshot.upshotData.push newItem 

私の質問は、これが最善の方法なのか、それとも何か不足しているのかということです。upshot に createEntity メソッドがないように見えることに驚いています。

JavaScriptで...

newItem = {};
_ref = upshot.metadata(upshot.dataSources[name]._entityType).fields;
_fn = function(field, def) {
    if (def.array) {
       return newItem[field] = new ko.observableArray();
    } else {
       return newItem[field] = new ko.observable();
    }
};
      for (field in _ref) {
        def = _ref[field];
        _fn(field, def);
      }
      upshot.addEntityProperties(newItem, upshot.dataSources[name]._entityType);
      dataTarget.upshot.upshotData.push(newItem);
4

1 に答える 1