Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 将ngShow包括在选择ngOptions中_Angularjs_Angularjs Scope_Angularjs Ng Repeat - Fatal编程技术网

Angularjs 将ngShow包括在选择ngOptions中

Angularjs 将ngShow包括在选择ngOptions中,angularjs,angularjs-scope,angularjs-ng-repeat,Angularjs,Angularjs Scope,Angularjs Ng Repeat,我使用ng选项填充select。在该值中,它给出了一个addon_id(来自json数据),名称为addon_name。这使用以下代码工作: <div ng-show="group.group_optiontype == 'single'"> <select ng-model="foo1" ng-options="singleAddon.addon_name for singleAddon in group.addon

我使用ng选项填充select。在该值中,它给出了一个addon_id(来自json数据),名称为addon_name。这使用以下代码工作:

              <div ng-show="group.group_optiontype == 'single'">
                <select ng-model="foo1" ng-options="singleAddon.addon_name for singleAddon in group.addons track by singleAddon.addon_id" name="addon-val-single" class="form-control-wrapper col-xs-12 col-sm-12 col-lg-12">
                   <option value="" ng-hide="foo1">choose something</option>
                </select>
              </div>

选择一些
但我也有一个变量叫做addon_priceoption(它可以是“免费”或“付费的”),如果它是付费的,我想显示addon_price。。。现在,我如何将此登录包含到我的代码中?我试过:

              <div ng-show="group.group_optiontype == 'single'">
                <select ng-model="foo1" ng-options="singleAddon.addon_name for singleAddon in group.addons track by singleAddon.addon_id" name="addon-val-single" class="form-control-wrapper col-xs-12 col-sm-12 col-lg-12">
                   <option value="" ng-hide="foo1">choose something<span ng-show="singleAddon.addon_priceoption == 'paid'">{{singleAddon.addon_price}}</span></option>
                </select>
              </div>

选择某物{{singleAddon.addon\u price}

这行不通。。。。最好的方法是什么?

您可以在自己的作用域中编写一个函数,如下所示

$scope.formattedLabel = function(singleAddon){
  if(singleAddon.addon_proceoption =='paid'){
   return singleAddon.addon_name + singleAddon.addon_price;
  }else{
   return singleAddon.addon_name;
  }
};
并将ng选项更改为

ng-options="singleAddon.addon_name as formattedLabel(singleAddon) for singleAddon in group.addons track by singleAddon.addon_id"
您也可以通过使用过滤器来实现这一点