【问题标题】:how to map many to many relation in angularjs如何在angularjs中映射多对多关系
【发布时间】:2013-08-25 02:48:09
【问题描述】:

您好,我的问题很简单,但我迷路了一整天,找不到解决方案

我有 JAVA 对象

class Phone {
     public int id;
     public String name;
     public List<Accessory> accessories;
}

class Accessory {
    public int id;
    public String name;
    public List<Phone> phones;
}

我应该如何在 js 中映射它?我找不到任何关于创建对象之间关系映射的参考

如果我手动创建这样的东西

name: nokia,
accesories: {
id:1, name: head,
id:2, name: keys
}

我不会得到关系,我只会得到一个大模型

//编辑

function MyCtrl($scope) {
        $scope.Phone = {Id: 1, Name:'Nokia'};
        $scope.Phone.Accessories = [{Id:1, Name:'foo'}, {Id:2, Name:'bar'}, {Id:3, Name:'barfoo'}];
    }

这是您网址中的代码。但这还不够接近

我想要这样的东西

$scope.Phones = [{Id: 1, Name:'Nokia'}, {Id: 2, Name:'Samsung'}, {Id: 3, Name:'iPhone'}];

但我不知道如何为每部手机绑定配件

【问题讨论】:

  • 我看到了一对多的关系?带有多个配件的手机。并且附件没有电话列表。但是您希望 Javascript 看起来如何?这和角度有什么关系?
  • @Martijn 我已经更新了代码。我不在乎 js 代码的样子:) 我想制作从 JAVA 到角度模型的映射,所以当我在站点附件或电话上更新时,这将在站点模型中产生反映。例如,在 emberjs 中,当我创建一个键数组(仅键)时,模型是绑定的,我可以像在 JAVA 中一样对它们进行处理。它具有角度的一切,因为我不知道如何在 angularjs 中映射关系
  • 好的。好吧,正如 dabee 已经提到的,角度和 Java 之间没有关系或联系。您需要在 Angular 中创建 javascripts 对象并绑定到这些对象。对于我当前的项目,我使用 MVC,这些方法返回例如 json 对象的 e 列表,然后我将其用于绑定。
  • 我创建了一个小提琴,希望能回答您的问题:jsfiddle.net/YaRHt/1 这里有一个带有配件列表的电话。
  • 你不能在 Java 中创建完整的对象图并将该图转换为 Json 并将其发送回来吗?

标签: angularjs relation


【解决方案1】:

在 Javascript 中没有像类级别的定义这样的关系(在 AngularJS 中也没有)。看看 AngularJS 中的数据绑定,我认为这就是您在 cmets 中描述的内容。 http://docs.angularjs.org/guide/dev_guide.templates.databinding

【讨论】:

    猜你喜欢
    • 2014-06-14
    • 2014-08-17
    • 1970-01-01
    • 2012-06-12
    • 1970-01-01
    • 1970-01-01
    • 2020-12-19
    • 1970-01-01
    相关资源
    最近更新 更多