指令中的 AngularJS 自定义过滤器以格式化值
AngularJS custom filter within directive to format value
我希望有一个指令来格式化它呈现的提供的值,并且此格式逻辑成为该指令的一部分,而不依赖于 HTML 属性或父控制器。
我对单个属性和标签的简化尝试如下所示,但给出了TypeError: definition.match is not a function
错误。
app.directive('timeSpan', function() {
scope: {
value: '@value',
displayValue: function(v) {
return v / 1000.0;
},
displayUnits: function(v) {
return 'seconds';
},
replace: true,
template: '<span>{{value|displayValue}} {{value|displayUnits}}</span>'
}
}
<time-span value="{{timer}}" />
我的解决方案是为您的指令创建一个控制器,并在该控制器中声明您的displayUnits
和displayValue
函数。
.directive('timeSpan', function() {
return {
scope: {
value: '@value'
},
replace: true,
template: '<span>{{displayValue(value)}} {{displayUnits(value)}}</span>',
controller: 'TimeSpanCtrl',
};
})
.controller('TimeSpanCtrl', ['$scope', function ($scope) {
$scope.displayValue = function(v) {
return v / 1000.0;
};
$scope.displayUnits = function(v) {
return 'seconds';
}
}]);
这篇文章中的类似问题
相关文章:
- jQuery中是否内置了任何字符串格式化函数
- 为什么我的d3.jsselectAll+过滤器没有过滤
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- Angular-表的多列过滤器
- 如何“;过滤器”;或者以其他方式重构该数据
- 将字符串转换为格式化日期
- Highcharts-如何在自定义格式化程序中获得默认的y轴标签格式化程序
- Angularjs通过过滤器获取indexOf
- 用Javascript重新格式化复杂文本日期字符串的更好方法
- 在HTML画布上格式化文本
- ui网格日期单元格过滤器,过滤日期格式导致显示错误的日期
- 使用按钮的Angular UI网格过滤器
- 使用角度数字格式过滤器格式化值
- 指令中的 AngularJS 自定义过滤器以格式化值
- 如何使用angular js过滤器格式化数组中的值
- 从特定区域设置的角度日期过滤器输出格式化日期
- 如何仅检索货币符号而不从 angularjs 货币过滤器格式化价格表达式
- Angular过滤器|全局设置格式化(最佳实践)
- AngularJS对未格式化日期表达式的ng-repeat过滤器
- 在angular js过滤器中格式化时间