2

我正在尝试创建一个指令,在该指令中,我需要根据可能会有所不同的过滤器格式化一个值(取决于字段,它可能是“数字:2”、“日期”......或其他)。

所以我想在标记中使用指令时定义过滤器。通过这个 plunker 描述了场景:http: //embed.plnkr.co/N2zKITFpUQMxmylAAGlt/preview

到目前为止,未应用过滤器或引发错误。

实施它的正确方法是什么?谢谢

4

2 回答 2

3

这是一个有效的 Plunkr:

http://plnkr.co/edit/nZgah7PtGRVMWBgKu7V8?p=preview

有两个示例,一个将其格式化为浮点数,另一个将其格式化为日期。格式化本身我没有做,因为它相当微不足道。

于 2013-10-29T15:48:30.523 回答
3

这是一种使用方法template:function(elem,attrs)

app.directive('editableField', function() {
    return {
        restrict: 'A',
        replace: true,
      template:function(elem,attrs) {

        return '<div>' +
            '<input ng-model="editableModel" />' +
            '<div class="output">{{editableModel|'+attrs.editableFilter+' }}</div>' +
             '</div>';
      },

     /* if using in a form....I would remove the isolated scope*/
       scope: {
          editableModel: '='
      },
      controller: function($scope) {},
      link: function($scope, $element, $attrs, $filter) {
        var input = $element.find('input');
        input.bind('click', function () {
            this.select();
        });
      }
    };
});

DEMO

于 2013-10-29T15:41:48.720 回答