问题标签 [mapping-model]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
22583 浏览

javascript - 在 AngularJS 中设置动态 ng-model 名称

这里这里有类似的问题,虽然我的用例有点不同。

我有一个名为的对象uniqueLists,如下所示:

我正在尝试从此列表中构建搜索功能。目前,我可以像这样在页面上的复选框中显示所有列表项(以下代码使用JadeNode / ExpressJS的模板引擎,即使您不熟悉它也很容易理解。缩进==子节点上面的线)

我唯一遇到的问题是ng-model我的表单和复选框。我想要formng-model == {{key}}. 我试过设置它,但它破坏了 Angular。我也尝试过ng-model='uniqueLists[index][0]',但是再次,Angular 不会解析它,只是将每个表单的模型都设为 string uniqueLists[index][0]

同样处理input复选框,我想要他们的ng-model="{{value}}". 有没有办法在我的控制器中做到这一点?我想不出任何可以在ng-repeat.

给任何偶然发现这个问题的人的小提示

正如您将在下面的答案/小提琴中看到的那样,当您在 an 中引用对象/位置时,ng-model它们不会在 DOM 中呈现为正确的名称,但它们似乎可以与 Angular 一起使用,就好像它们是一样的。

例如,在上面的代码中,将ng-model="uniqueLists[key][val]"DOM 中的呈现设置为ng-model="uniqueLists[key][val]",但表现得好像是ng-model="uniqueLists[name][string1]".

似乎是 Angular 的一个奇怪的怪癖,这让我大吃一惊,因为我在将ng-model浏览器连接到控制器之前检查了浏览器中的名称,当我看到它没有解析对象以获得正确的值时,我认为它不是工作。

0 投票
1 回答
598 浏览

ios - IOS Core-data - 无法在具有相同方案的两个模型之间迁移数据

我有一个 1.0 版本,目前在应用商店中分发。该版本使用1.0版本的模型。模型商店中的一些实体填充了预定义的数据,因此应用程序与已包含此数据的商店打包在一起,应用程序不允许用户更改这些实体(只读)。商店是 SQLite 类型。

我发现在 1.0 版中,实体(这些预定义实体之一)中有一个属性包含错误值(对于该实体的所有实例)。我想在 2.0 版中解决这个问题。

所以我想,对于 2.0 版,让我们更改模型内容,因此现在该实体的所有实例中的属性都将包含正确的值。所以我修改了商店(没有改变 scheme 的模型版本),所以它包含正确的值。

这是问题所在,如果我在从未安装过 1.0 版的设备上安装 2.0 版,我可以在应用程序中看到正确的值,一切正常。但是,如果我在 1.0 版(更新)之上安装 2.0 版,该应用程序仍会显示它在 1.0 版中显示的值。

我立即得出的结论是,新版本不会将新版本中的数据迁移到旧版本中的数据,感染,我在苹果文档中读到迁移通常是从旧商店到新商店完成的。而且由于旧商店包含错误的值,我在新商店也看到了它。

我得出一个结论,我必须定义一个迁移,以便在 2.0 版本中存储正确的值。

这是我尝试过的:

  1. 轻量级迁移(使用相同的版本模型)-> 仍然看到版本 1.0 的值。

  2. 为具有相同方案的模型创建了一个新版本,创建了一个从模型 1 映射到模型 2 的映射模型。

2.a. 使用映射模型进行迁移,该模型指定目标的属性由源的属性填充 -> 仍然看到 1.0 版的值。

2.b。使用没有属性规则的映射模型进行迁移 -> 仍然看到版本 1.0 的值

2.c。使用映射模型进行迁移,该模型指定目的地的属性填充目的地的属性 -> 仍然看到版本 1.0 的值

2.d。轻量级迁移 -> 仍然……</p>

我使用以下代码启动迁移:

0 投票
1 回答
4651 浏览

angularjs - ng-model 不适用于 ngAutocomplete

我在我的 Web 应用程序中使用 angularjs。我有一个文本框,其中使用自动完成功能选择位置。这是通过 ngAutocomplete.js 完成的(参考此示例http://plnkr.co/edit/il2J8qOI2Dr7Ik1KHRm8?p=preview)。最初加载页面时,我需要从数据库加载位置。它现在不工作。我该如何解决?

0 投票
1 回答
285 浏览

javascript - 遇到问题 - 在 AngularJS 中,选择框默认值选择并将新字段添加到现有模型

堆栈:AngularJS 1.2

我面临的问题是将选择框选择为服务器为 JSON 中的 order.status 字段传递的默认值(“已发货”)-


控制器: https
://gist.github.com/pawank/8079603 HTML: https ://gist.github.com/pawank/8079624

问题 1:如何使 ID 为“selectedStatus”的选择框设置为默认值“Shipped”?

问题 2save_order_edit_form() :单击“保存更改”时,“order.comment”没有从 HTML 函数中传递给控制器

任何帮助表示赞赏。

谢谢,

0 投票
1 回答
148 浏览

ios - 如何避免用于小型数据模型更改的巨大 .xcmapingmodel 文件?

我目前有一个独特的MyProject.xcdatamodeld文件。执行以下操作相当容易,因为不需要额外的步骤:

  • 添加字段/类

但是如果我想的话,我需要一个MyProject.xcmapingmodel :

  • 删除字段/类
  • 重命名字段/类
  • 更改字段的类型

我的问题是.xcmappingmodel的初始大小(从模型 v1 到其自身)从 2 MB 到 10 MB 不等,使我的应用程序突然变大两倍!

如果我只想做一个微小的改变(删除或重命名一个字段),有没有办法在不增加这么大的尺寸的情况下做到这一点?

0 投票
2 回答
458 浏览

ios - 具有多个目标的 Core Data 自定义迁移策略

如果我想为给定的实体使用自定义迁移策略,我相信我必须在类名称前加上产品模块名称,如下图所示:

映射模型检查器

我怎样才能设法处理多个目标?

我尝试使用以下条目:$(PRODUCT_MODULE_NAME).VisitToVisitPolicy但这似乎不起作用。我仍然有可能复制映射模型,每个目标一个,但感觉不对。

0 投票
1 回答
375 浏览

ios - CoreData 轻量级迁移崩溃,即使添加了映射模型

在我的 CoreData 模型中,我创建了一个抽象实体 ( IDManagedObject) 来为我的其他实体共享一个公共属性。

当我第一次运行它时,我遇到了几个Cannot merge multiple root entity source tables into one destination entity root table错误。

完整的错误如下:

有趣的是,它只显示了这两个实体的错误,但我还有更多。

经过一番搜索,我发现我需要添加一个映射模型来在新旧版本之间迁移。所以我通过 Xcode 中的 Cmd-N 添加它并选择源和目标模型。

但我仍然收到错误消息。

两者shouldMigrateStoreAutomaticallyshouldInferMappingModelAutomatically都设置为true

我在这里想念什么?

旧模型在当前用 Objective-C 编写的应用程序中,新模型在用 Swift 编写的应用程序的新版本中,现在也使用CloudKit. 使用 Xcode 12.2。

如果需要,我很乐意添加更多信息,只是不知道与该问题相关的内容。