首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS模型之间的关系

AngularJS模型之间的关系
EN

Stack Overflow用户
提问于 2015-07-27 21:40:10
回答 1查看 144关注 0票数 2

我刚刚开始在我的not应用程序中使用AngularJS --这很简单,但是现在我不能继续了。

我在申请一家轮胎公司。

这就是我的模式关系:

品牌有0种或多种品牌类型(型号)轮胎涉及一种品牌和品牌类型

我想缓存品牌和发布的品牌类型。

在我缓存这些数组在控制器中,我想得到轮胎,并使他们链接到BrandType和品牌。

这些是我的JSON文件。

品牌

代码语言:javascript
复制
[  
   {  
      "id":1,
      "name":"Continental",
      "created_at":"-0001-11-30 00:00:00",
      "updated_at":"2015-07-15 20:45:35"
   },
   {  
      "id":2,
      "name":"Michelin",
      "created_at":"2015-07-15 21:03:56",
      "updated_at":"2015-07-17 12:14:05"
   }
]

品牌类型与品牌

代码语言:javascript
复制
{  
      "id":1,
      "name":"ContiSportContact3",
      "brand_id":1,
      "created_at":"-0001-11-30 00:00:00",
      "updated_at":"-0001-11-30 00:00:00"
   },
   {  
      "id":2,
      "name":"ContiSportContact4",
      "brand_id":1,
      "created_at":"-0001-11-30 00:00:00",
      "updated_at":"-0001-11-30 00:00:00"
   },
   {  
      "id":3,
      "name":"Pilot Alpin",
      "brand_id":2,
      "created_at":"-0001-11-30 00:00:00",
      "updated_at":"-0001-11-30 00:00:00"
   }
]

轮胎(必须与品牌和品牌挂钩,因为我需要在表格中显示这一点)。

代码语言:javascript
复制
[  
   {  
      "id":3,
      "tire_number":1011,
      "brand_id":2,
      "brand_type_id":3,
      "category_id":1,
      "created_at":"-0001-11-30 00:00:00",
      "updated_at":"-0001-11-30 00:00:00",
      "number":0,
      "width":225,
      "height":55,
      "diameter":16,
      "other":0,
      "load_factor":"95",
      "speed":"h",
      "mms":"6,5-7",
      "season_id":3
   }
]

我已经有这个,它正在工作,但我需要显示品牌名称和品牌类型名称,而不是ID。

代码语言:javascript
复制
  <tr ng-repeat="tire in tires">
                    <td><%tire.tire_number%></td>
                    <td><%tire.brand_id%></td>
                    <td><%tire.brand_type_id%></td>
                    <td><%tire.season_id%></td>

                    <td><%tire.width%></td>
                    <td><%tire.height%></td>
                    <td><%tire.diameter%><%tire.other%></td>
                    <td><%tire.load_factor%></td>
                    <td><%tire.speed%></td>
                    <td><%tire.mms%></td>

                </tr>

这应该是容易的,但我已经搜索了很多,但我找不到一个简单的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-02 16:59:16

使用ID作为键将您的Brands数组转换为hashmap相对容易,然后您可以使用该键根据每个轮胎的brand_id进行非常简单的名称查找

代码语言:javascript
复制
$scope.brandNames = {};
brandData.forEach(function(item) {
  $scope.brandNames[item.id] = item.name
});

将产生:

代码语言:javascript
复制
{  
  1:"Continental",
  2:"Michelin"
}

然后在视图中可以这样做:

代码语言:javascript
复制
 <td>{{brandNames[tire.brand_id]}}</td>

使用服务将hashmap传递给控制器的演示

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

https://stackoverflow.com/questions/31663793

复制
相关文章

相似问题

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