2

さまざまなフィルターに従って値をフォーマットする必要があるディレクティブを作成しようとしています (フィールドによっては、「number:2」、「date」など)。

そのため、マークアップでディレクティブを使用するときにフィルターを定義したいと考えています。シナリオは、このプランカーを通じて描かれています: http://embed.plnkr.co/N2zKITFpUQMxmylAAGlt/preview

これまでのところ、フィルターが適用されていないか、エラーが発生しています。

それを実装する正しい方法は何ですか?ありがとう

4

2 に答える 2

3

これを使用してそれを行う1つの方法を次に示します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 に答える
3

ここに動作するPlunkrがあります:

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

2 つの例があります。1 つは float としてフォーマットするもので、もう 1 つはおそらく日付としてフォーマットするものです。フォーマット自体はかなり些細なことなので、私はしませんでした。

于 2013-10-29T15:48:30.523 に答える