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