复杂的“;作为标签“;用于理解角度表达

Complex "as label" for comprehension expression in angular

本文关键字:标签 复杂 用于      更新时间:2023-09-26

如何在angular中的理解表达式中设置复杂的"as label"?

这可能很简单,我只是不明白,也可能是不可能的,但我到处找了找,找不到任何解决方案的线索。我发现的唯一解决办法是在理解表达式中使用对象的"as label"属性之前,用您想要的确切字符串预先填充该属性(我希望避免这样做)。

例如,我有一个这样的对象:

$scope.projects = [{
  "description": "Asset Management",
  "code": "ASSET",
  "fieldName": "Asset Evaluation Level"
},
{
  "description": "Checklist",
  "code": "CHECK",
  "fieldName": "Checklist Scores"
},
{
  "description": "IT Support",
  "code": "IT",
  "fieldName": "IT Support Ticket Number"
}]

我有一个选择与ng选项:

<select ng-model="jiraProject" class="form-control" ng-options="option as option.description for option in projects"></select>

我希望选项"as"标签显示在选择下拉列表中,如下所示:

"资产管理(Asset)"、"检查表(CHECK)"、IT支持(IT)"

也许通过这样的语法?:

option as {options.description (option.code)} for option in projects

感谢您提前提供任何反馈!

这样做:

<select ng-model="jiraProject" class="form-control" ng-options="option as option | formatOption for option in projects"></select>

这个:

yourModule.filter('formatOption', [function(){
    return function( option ){
      return option.description + ' (' + option.code + ')';
    };
}]);

Angularjs过滤器太棒了:-)