Angularjs Breezejs+;角度-如何正确映射数据库属性名称?
我有一个可工作且可重复使用的自定义Angularjs Breezejs+;角度-如何正确映射数据库属性名称?,angularjs,select,mapping,breeze,ng-options,Angularjs,Select,Mapping,Breeze,Ng Options,我有一个可工作且可重复使用的自定义指令,它通过ng options进行填充,以下是代码片段: ng-options="datum.name for datum in data track by datum.id" 当我使用一个本地测试JSON文件来填充它时,这就像我可以手动定义name和id属性一样有效。当使用Breezejs(按照预期正确地提取数据)时,数据库具有Product和DeviceID而不是所需的name和id属性 我希望能够提取数据,但将产品和设备id映射到名称和id,这样做可以
指令,它通过ng options
进行填充,以下是代码片段:
ng-options="datum.name for datum in data track by datum.id"
当我使用一个本地测试JSON文件来填充它时,这就像我可以手动定义name
和id
属性一样有效。当使用Breezejs(按照预期正确地提取数据)时,数据库具有Product
和DeviceID
而不是所需的name
和id
属性
我希望能够提取数据,但将产品
和设备id
映射到名称
和id
,这样做可以确保自定义
指令的可重用性。许多不同的实体需要映射到name
和id
,因此这对于可重用性很重要
我如何做到这一点?我已经看到并认为这是正确的方向。不幸的是,这些例子似乎遗漏了我需要的东西(除非我遗漏了什么)
有没有其他解决方案或方法来解决这个问题?使用breezejs有没有最佳实践方法?提前感谢您提供的任何信息
*找到了解决办法 我使用的是这样一个自定义指令(但我现在添加了
options-map
属性):
因此,我现在可以使用大量自定义的
指令,只需添加
的ng选项所使用的适当映射字符串即可
我非常高兴它能发挥作用,并实现了我所希望的灵活性,但我仍然愿意接受改进的想法和/或建议。你看过定制的NamingConvention吗?NC致力于客户端和服务器端实体属性名称之间的映射业务我将对此进行研究。谢谢你的提醒。
<sel-select-box
id="selectBoxDevice1"
select-size="10"
options-map="datum.Product for datum in data track by datum.DeviceID"
service-in="deviceSearchDataService"
service-in-watch="getDevice1Matches"
service-in-restore="getDevice1Selection"
service-out="deviceSearchDataService"
service-out-send="updateDevice1Selection">
</sel-select-box>
<select
class="form-control"
ng-model="selected"
ng-change="onChange()"
ng-click="onClick()"
ng-options="{{optionsMap}}"
data-ng-attr-size="{{selectSize}}">
</select>