我正在尝试创建一个指令,在该指令中,我需要根据可能会有所不同的过滤器格式化一个值(取决于字段,它可能是“数字:2”、“日期”......或其他)。
所以我想在标记中使用指令时定义过滤器。通过这个 plunker 描述了场景:http: //embed.plnkr.co/N2zKITFpUQMxmylAAGlt/preview
到目前为止,未应用过滤器或引发错误。
实施它的正确方法是什么?谢谢
我正在尝试创建一个指令,在该指令中,我需要根据可能会有所不同的过滤器格式化一个值(取决于字段,它可能是“数字:2”、“日期”......或其他)。
所以我想在标记中使用指令时定义过滤器。通过这个 plunker 描述了场景:http: //embed.plnkr.co/N2zKITFpUQMxmylAAGlt/preview
到目前为止,未应用过滤器或引发错误。
实施它的正确方法是什么?谢谢
这是一个有效的 Plunkr:
http://plnkr.co/edit/nZgah7PtGRVMWBgKu7V8?p=preview
有两个示例,一个将其格式化为浮点数,另一个将其格式化为日期。格式化本身我没有做,因为它相当微不足道。
这是一种使用方法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();
});
}
};
});