Angularjs 指令模板-将属性用于html文本插值?

Angularjs 指令模板-将属性用于html文本插值?,angularjs,Angularjs,角度1* 我正在使用指令使我的代码更简洁。。。或者试图。但由于json数据结构的差异,我不确定这是否可能,因为每个单选按钮都有插值文本 <ppv-filter filter-name="Region" radio-value="choice.code" sort="description" filter-data="regions"></ppv-filter> <ppv-filter filter-name="Market" display-pro

角度1*

我正在使用指令使我的代码更简洁。。。或者试图。但由于json数据结构的差异,我不确定这是否可能,因为每个单选按钮都有插值文本

  <ppv-filter filter-name="Region" radio-value="choice.code" 
    sort="description" filter-data="regions"></ppv-filter>
  <ppv-filter filter-name="Market" display-prop="description"
    filter-data="markets"></ppv-filter>
  <ppv-filter filter-name="Dealer" display-prop="code"
    filter-data="dealers"></ppv-filter>

是否可以传递属性绑定来代替,例如,
{{choice.description}}
?如果没有,那么我就不会通过重用一个包含如此多代码
ng If
块的指令来让代码变得更干练

我将在指令内创建控制器,并在指令内检查发送到作用域的属性,在这个特定示例中,最好是switch语句。因此,在
开关中
设置视图中应使用哪个参数

(指令的链接或控制器中的伪代码)

switch (scope.filterName){

  case "Market":
  scope.field="code";
  break;


  //other possibilities
}
接下来,通过使用数组语法,我们只需要一个结构

<div>
 <div ng-repeat="choice in filterData| orderBy: 'code'">
  <input type="radio" name="bob">
  {{choice[field]}}<!-- HERE MOST IMPORTANT -->
 </div>
</div>

{{choice[field]}
我看到排序也发生了变化,所以为排序类型创建第二个变量,并将其分配到控制器中相同的
开关中


还有一件事,从父作用域分配的指令属性(props)可以在没有任何控制器代码的情况下使用,props在视图中可用,因此它可以在相同的语法中使用,如-
{{someArr[filterName]}
其中
filterName
是指令属性


回到您的问题-如果我们按属性发送视图中应该使用的属性名称,例如
列:'@'
,示例值为
code,说明
,那么在视图中只需要
{choice[column]}

谢谢。我的目标不是使用
开关
ng(如果
)。。。。。只需使用一个html块来查看指令。如果不是的话,我认为如果没有有这么多条件的指令,代码将更容易阅读。
switch (scope.filterName){

  case "Market":
  scope.field="code";
  break;


  //other possibilities
}
<div>
 <div ng-repeat="choice in filterData| orderBy: 'code'">
  <input type="radio" name="bob">
  {{choice[field]}}<!-- HERE MOST IMPORTANT -->
 </div>
</div>