当前位置: 首页 > 面试题库 >

使用ng-options上的filter更改显示的值

卫高明
2023-03-14
问题内容

我有价格(数组00.991.99…等),我想显示<select>

我想用角的ng-options这样

<select ng-model="create_price" ng-options="obj for obj in prices"/>

由于这是上面显示它会产生一个选择00.991.99

但我想在代码中使用过滤器,使得字每一次 的价格“
呈现(或者类似的东西),代码将运行一个函数的浮点数更改为字符串和现在(free0.99$1.99$…等)。

我有办法吗?

谢谢


问题答案:

有更好的方法:

app.filter('price', function() {
  return function(num) {
    return num === 0 ? 'free' : num + '$';
  };
});

然后像这样使用它:

<select ng-model="create_price" ng-options="obj as (obj | price) for obj in prices">
</select>

这样,筛选器对于单个值很有用,而不是仅对数组进行操作。如果您有对象和相应的格式过滤器,这将非常有用。

如果需要过滤器,也可以直接在代码中使用它们:

var formattedPrice = $filter('price')(num);


 类似资料:
  • 问题内容: 如果我有一个数组 ]; 是否可以使用ng-options构建一个仅在下拉列表中具有唯一值的select元素,所以红色将仅显示一次? 问题答案: AngularUI正是您需要的“唯一”过滤器(src代码)。 例:

  • 问题内容: 我已经搜索了几个小时,似乎无法在任何地方找到问题的答案。我记得我曾经能够实现它,但是由于某种原因我丢失了代码,而且我似乎不记得为使它起作用而做了什么。 我正在尝试使用ng-options在选择框中显示来自数组的数据。我没有问题的那个。我需要实现的是,只有某些数组值会显示/包括在选择框中。 我的数据如下: 我的HTML看起来像: 所以我想发生的是,如果属性“ active”的值为fals

  • 我在其他的帖子里读到过,但我想不通。 我读过select也试过,但我想不通。

  • 问题内容: 在我的JavaScript中,我有一个数组 而且我正在尝试使选择器仅显示唯一的quoteNumbers即。ING-70440-21和ING-70440-01。但是,当我尝试在angular中使用’unique’选项时,没有任何显示。 没有唯一标签,它可以正常工作。我究竟做错了什么?我对angular非常陌生,所以它可能真的很简单。 问题答案: AngularJS没有内置过滤器。您可以执

  • 问题内容: 我已经在其他帖子中阅读过,但是我无法弄清楚。 我有一个数组 我想将其呈现为: 我也想选择ID = 000002的选项。 我已经阅读了 select 并尝试过,但是我无法弄清楚。 问题答案: 要注意的一件事是ngOptions起作用 需要 ngModel。请注意,这是“将$ scope.blah设置为所选值”。 试试这个: 这里是AngularJS文档的更多内容(如果您还没有看过的话):

  • 问题内容: 有一个基于任何数组的。数组中的元素可能会更改。如何获得角度控制器来刷新阵列? module.js index.html 从控制台: 如何刷新以使其中的所有元素都是选项? 问题答案: Angular使用watchers,并且只有在摘要循环开始后才会更新UI 。 通常,您将通过UI中的某个事件或调用$ http服务 将数组添加到数组中,而这些将为您启动$ digest() 。 由于您只是直