【问题标题】:How to get value from collection angularjs directive如何从集合 angularjs 指令中获取价值
【发布时间】:2014-11-12 10:08:10
【问题描述】:

我是 AngularJs 的新手,我不知道如何从 AngularJs 集合中获取单个值。我有一个整数列表,我的代码如下:>

<div ng-controller="ChartCtrl1">
      {{ orderDateList1 }}
</div>

和控制器代码:

var ChartCtrl1 = function ($scope, OrderDate) {
    $scope.orderDateList1 = OrderDate.get({
        action: 'orderDate',
        locationId: location.hash.substring(1),
        month: 10,
        year: 2014
    });
};

然后像这样查看:

{"collection":[10,14]}

但我想将每个结果(在这种情况下为数字)与其他方法进行比较。我认为最佳视图将是:10,14。有什么建议吗?

【问题讨论】:

  • 你到底想做什么?期望的结果是什么?我不清楚你想在这里做什么。也许您希望在显示结果之前对其进行过滤?
  • 也许得到一个过滤器会很好,我在 angularJs 方面没有太多经验。简而言之:我的列表返回整数值,我想比较我的其他方法中的每个值,但现在当我什至显示我的列表的返回时,它向我显示如下:{“collection”:[10,14]}。我无法将“那个字符串”与我的其他方法进行比较。

标签: javascript angularjs collections directive


【解决方案1】:

我想您正在寻找过滤器:

<div ng-app="app" ng-controller="ListCtrl">
    {{ list | map:'collection' }}
</div>

jsFiddle

我为 jQuery 的地图、_.underscore 的地图以及 GitHub 上内置了这些过滤器的两个过滤器库提供了一个过滤器示例。

/*
[10,14,2,5] (custom jQuery map filter)
[[10,14],[2,5]] (custom Underscore map filter)
[[10,14],[2,5]] (angular-filters by a8m)
[[10,14],[2,5]] (angular-filters by frapontillo)
*/

【讨论】:

  • 使用collection | map: 'collection' | flatten得到和jquery一样的结果
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-11
  • 2015-11-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
相关资源
最近更新 更多