首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建新的结果js实体

创建新的结果js实体
EN

Stack Overflow用户
提问于 2012-03-22 10:47:59
回答 1查看 910关注 0票数 2

我正在使用ASP.NET MVC4Beta构建一个网站作为单页面应用程序。

示例应用程序谈到了添加新实体,并为其产品实体使用了一个构造函数。

然而,我有许多实体类型,我不打算为每个实体类型编写一个构造函数。这就是我创建新实体的方式(name是数据源的名称,dataTarget.upshot.upshotData是我从coffeeScript中的GetEntities方法返回的实体列表……

代码语言:javascript
复制
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中...

代码语言: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);
EN

回答 1

Stack Overflow用户

发布于 2012-03-26 01:26:57

代码语言:javascript
复制
var newThing = {};
var typeName = "MyType:#MyNamespace";
upshot.map({ SomeProperty: "my value" }, typeName, newThing);
upshot.addEntityProperties(newThing, typeName);

这将创建具有映射到可观察对象的实体属性的对象,并允许您设置属性(参见SomeProperty:"my value")。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9815748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档