Javascript 用于确定html属性键和值的Angular指令

Javascript 用于确定html属性键和值的Angular指令,javascript,angularjs,Javascript,Angularjs,对我来说,我是个新手 我在一个表中有以下代码: <td ng-repeat="column in ic_dashboard.fields2" ng-show="column.visible" sortable="column.field"> <a href="#"> {{row[column.field]}} </a> </td> 我想要实现的是通过fields2中edit_type

对我来说,我是个新手

我在一个表中有以下代码:

<td ng-repeat="column in ic_dashboard.fields2" ng-show="column.visible" sortable="column.field">                            
<a href="#">
    {{row[column.field]}}
</a>
</td>
我想要实现的是通过fields2中edit_type成员的值向a标记添加一个特定的html属性和值。例如,对于edit_type:number,输出应为:

<a editable-number="row[column.field]" href="#">
        {{row[column.field]}}
 </a>
<a href="#" editable-text="row[column.field]" e-step="any">
    {{row[column.field]}}
</a>
对于编辑类型:文本,输出应为:

<a editable-number="row[column.field]" href="#">
        {{row[column.field]}}
 </a>
<a href="#" editable-text="row[column.field]" e-step="any">
    {{row[column.field]}}
</a>
等等

据我所知,这里需要一个指令,但不知道如何开始

谢谢。

我相信这就是你要找的。比如:

<div ng-switch="column.edit_type">
    <div ng-switch-when="text">
        <a href="#" editable-text="row[column.field]" e-step="any">
            {{row[column.field]}}
        </a>
    </div>
    <div ng-switch-when="number">
        <a editable-number="row[column.field]" href="#">
            {{row[column.field]}}
        </a>
    </div>
    ...and so on
</div>

此逻辑可以直接写入模板中,也可以写入自定义指令中。读这本书,太棒了

使用指令,您可以尝试以下操作:

app.directive('myA', function () {
  return {
      restrict: 'A',
      scope:{
        type : '=',
        value: '='
      },
      link: function(scope, element) {
        element.attr('editable-'+scope.type, scope.value);
      }
  };
})
在您的HTML中:

<td ng-repeat="column in fields2" ng-show="column.visible" sortable="column.field">                            
   <a my-a type="column.edit_type" value="row[column.field]">{{row[column.field]}}</a>
</td>

指令的link函数允许您访问元素。如果您不知道如何开始,请阅读Angular docs中关于编写指令的指南。你应该尝试一下,如果有问题,问一个问题。现在你的问题是:请写下我需要的甲烷罐代码!我不知道ng开关选项!正是我想要的