如何声明我可以像 AngularJS 表达式中的函数一样使用的指令或服务
How to declare directive or service i can use like a function in AngularJS expression
我有很多转换日期时间格式的函数。
我想创建一个指令或服务来在我的项目中的任何地方调用这些函数。
这是我的功能之一。
$scope.formatDateTime = function (item) {
if (item != null) {
var d = moment().utc();
if (item instanceof Date)
d = new moment(item).utc();
else if (item instanceof moment)
d = item;
else
d = new moment(item, "YYYY-MM-DD HH:mm Z").utc();
if (d != null) {
moment.locale($rootScope.language);
var strReturn = d.format("L LT");
return strReturn;
}
}
return null;
};
我的问题是我必须在我需要使用它们的每个控制器中复制我的函数,所以我想调用一个服务或指令,我真的不知道到底是什么,调用这些函数就像下面:
<div>{{formatDateTime(dateToConvert)}}</div>
最佳解决方案是创建自定义 filter
.filter('dateFilter', function() {
return function(item) {
if (item != null) {
var d = moment().utc();
if (item instanceof Date)
d = new moment(item).utc();
else if (item instanceof moment)
d = item;
else
d = new moment(item, "YYYY-MM-DD HH:mm Z").utc();
if (d != null) {
moment.locale($rootScope.language);
var strReturn = d.format("L LT");
return strReturn;
}
}
return null;
}
})
在html中,这样调用
<div>{{dateToConvert | dateFilter}}</div>
我有很多转换日期时间格式的函数。 我想创建一个指令或服务来在我的项目中的任何地方调用这些函数。
这是我的功能之一。
$scope.formatDateTime = function (item) {
if (item != null) {
var d = moment().utc();
if (item instanceof Date)
d = new moment(item).utc();
else if (item instanceof moment)
d = item;
else
d = new moment(item, "YYYY-MM-DD HH:mm Z").utc();
if (d != null) {
moment.locale($rootScope.language);
var strReturn = d.format("L LT");
return strReturn;
}
}
return null;
};
我的问题是我必须在我需要使用它们的每个控制器中复制我的函数,所以我想调用一个服务或指令,我真的不知道到底是什么,调用这些函数就像下面:
<div>{{formatDateTime(dateToConvert)}}</div>
最佳解决方案是创建自定义 filter
.filter('dateFilter', function() {
return function(item) {
if (item != null) {
var d = moment().utc();
if (item instanceof Date)
d = new moment(item).utc();
else if (item instanceof moment)
d = item;
else
d = new moment(item, "YYYY-MM-DD HH:mm Z").utc();
if (d != null) {
moment.locale($rootScope.language);
var strReturn = d.format("L LT");
return strReturn;
}
}
return null;
}
})
在html中,这样调用
<div>{{dateToConvert | dateFilter}}</div>